Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to ME and DCT

Similar presentations


Presentation on theme: "Introduction to ME and DCT"— Presentation transcript:

1 Introduction to ME and DCT
2019/4/6 Introduction to ME and DCT Variable Length Code Discrete Cosine Transform Motion Estimation 2019/4/6 ME & DCT VCLab

2 2019/4/6 Compression Basics Information entropy: Claude E. Shannon 1948, “A Mathematical Theory of Communication” Lossless coding Entropy coding methods: Huffman code, arithmetic code Dictionary-based, LZ77(Lempel-Ziv) PCM, Prediction coding, Differential PCM (DPCM) Sub-band coding Transform coding Motion compensation 2019/4/6 ME & DCT VCLab

3 Outline Typical motion in videos The exercises of motion
2019/4/6 Outline Typical motion in videos The exercises of motion Motion representation How to find the Motion? How to find the motion in a block? Residuals Block matching algorithms (BMAs) Problems with BMA Fast BMAs Intra frame and inter frame 2019/4/6 ME & DCT VCLab

4 Typical Motion in Video Clips
2019/4/6 Typical Motion in Video Clips Local motions Global motions Background 2019/4/6 ME & DCT VCLab

5 The Exercises of Motion
2019/4/6 The Exercises of Motion Intra: Compress one frame independently Each pixel has to be compressed. DCT  Quantization  Binary coding Inter: Compress one frame depending on the previous frame. Background can be ignored. Only compress moving objects and new objects 2019/4/6 ME & DCT VCLab

6 Example Compress and in frame 1.
2019/4/6 Example Compress and in frame 1. Compress the motion of in remaining frames. Direction and magnitude 2019/4/6 ME & DCT VCLab 1 2 3 4

7 Motion Model Video Model & Format 3-D Motion Model 2-D Motion Model
2019/4/6 Motion Model Video Model & Format 3-D Motion Model 2-D Motion Model Constant intensity assumption & Optical flow model 2019/4/6 ME & DCT VCLab

8 Motion Model Object model, Illumination model & Camera model
2019/4/6 Motion Model Object model, Illumination model & Camera model ambient, point diffuse reflection 2019/4/6 ME & DCT VCLab

9 3-D Motion VS. 2-D Motion rigid: rotation & translation
2019/4/6 3-D Motion VS. 2-D Motion rigid: rotation & translation prospective projection 2019/4/6 ME & DCT VCLab

10 2-D Motion Approximations
2019/4/6 2-D Motion Approximations Approximations: affine (6 parameters) or bilinear model (8 parameters) 2019/4/6 ME & DCT VCLab

11 Constant Intensity Assumption & Optical Flow Equation
2019/4/6 Constant Intensity Assumption & Optical Flow Equation Valid under: Constant ambient illumination Diffuse reflecting surface Motion 2019/4/6 ME & DCT VCLab

12 Motion Representation
2019/4/6 Motion Representation Four types of motion info Parameters: 2 (translation), 6 (affine) or 8 (bi-linear, projective) Region-based Global Block-based Pixel-based 2019/4/6 ME & DCT VCLab

13 2019/4/6 How to Find the Motion? 2019/4/6 ME & DCT VCLab

14 2019/4/6 How to Find the Motion? Deformable BMA: node-based, affine (6 parameters) or bilinear model (8) Mesh-based motion estimation Region-based motion estimation Multi-resolution approach Overlapped motion estimation (H.263 optional) Block matching: 2-D translation (2 parameters) Assume all pixels in a block undergo a coherent motion, and search for the motion parameters for each block independently. 2019/4/6 ME & DCT VCLab

15 Deformable BMA Node-based, affine (6 parameters) or bilinear model (8)
2019/4/6 Deformable BMA Node-based, affine (6 parameters) or bilinear model (8) Mesh-based motion estimation 2019/4/6 ME & DCT VCLab

16 Block-based VS. Mesh-based
2019/4/6 Block-based VS. Mesh-based Block-based Mesh-based 2019/4/6 ME & DCT VCLab

17 2019/4/6 Region-based 2019/4/6 ME & DCT VCLab

18 Multi-resolution Approach
2019/4/6 Multi-resolution Approach 2019/4/6 ME & DCT VCLab

19 Overlapped Motion Estimation
2019/4/6 H.263 2019/4/6 ME & DCT VCLab

20 How to Find The Motion in A Block?
2019/4/6 How to Find The Motion in A Block? Block matching Occlusion Frame i-1 Frame i Motion vector Reference frame (existed) Current frame (to be encoded) 2019/4/6 ME & DCT VCLab matched

21 2019/4/6 Block Matching Compare the difference between two blocks. (one is in the current frame, and the other is in the reference frame) p = 1, sum of absolute difference p = 2, mean square error | - |p 2019/4/6 ME & DCT VCLab Candidate block Current block

22 Objective Quality Measurement
2019/4/6 Objective Quality Measurement Peak Signal to Noise Ratio (PSNR) Other objective quality metrics, ITU-T Video Quality Experts Group (VQEG) Currently, no objective measurement system is able to replace subjective testing, no one objective model outperforms the others in all cases. 2019/4/6 ME & DCT VCLab

23 Scan Line Order, MB by MB Scan Line Order Search Range Frame n-1
2019/4/6 Scan Line Order, MB by MB Scan Line Order Search Range Frame n-1 Frame n MV(1,0) MV(0,0) 2019/4/6 ME & DCT VCLab

24 Residuals (1) occlusion Residuals motion 2019/4/6 2019/4/6
ME & DCT VCLab Residuals occlusion motion

25 Residuals (2) Encoder (DCT  Quantization  Binary coding) DCT + Q
2019/4/6 Residuals (2) Residual only Encoder (DCT  Quantization  Binary coding) Residuals DCT + Q iDCT + iQ Motion Compensation Previous Frame Buffer 2019/4/6 ME & DCT VCLab MV = (dx, dy)

26 Residuals (3) Decoder Residual IDCT VLD MV Reconstructed frame Coded
2019/4/6 Residuals (3) Decoder Residual IDCT Reconstructed frame VLD Coded Bitstream MV Motion Compensation Previous Frame memory 2019/4/6 ME & DCT VCLab

27 Block Matching Algorithm - Full Search Method
2019/4/6 Block Matching Algorithm - Full Search Method Scan line order 15 15 2019/4/6 ME & DCT VCLab

28 Problems with Block Matching (1)
2019/4/6 Problems with Block Matching (1) Blocking effect (discontinuity across block boundary) Because the block-wise translation model is not accurate Real motion in a block may be more complicated than translation There may be multiple objects with different motions in a block Intensity changes may be due to illumination effect Motion field somewhat chaotic MVs are estimated independently from block to block 2019/4/6 ME & DCT VCLab

29 Problems with Block Matching (2)
2019/4/6 Problems with Block Matching (2) 3. Wrong MV in the flat region Motion is indeterminate when spatial gradient is near zero Motion vectors over picture boundaries Motion is undefined in occluded regions Requires tremendous computation 2019/4/6 ME & DCT VCLab

30 H.264 & Other Solutions H.264/AVC
2019/4/6 H.264 & Other Solutions H.264/AVC Variable-block-size motion estimation 1/4-, 1/8-pixel motion vector precision Multiple reference pictures Wavelet-based - Motion Compensated Temporal Filtering (MCTF) Deformable BMA Mesh-based motion estimation Region-based motion estimation Multi-resolution approach Overlapped motion estimation Fast algorithms 2019/4/6 ME & DCT VCLab

31 Complexity of Integer-Pel EBMA
2019/4/6 Complexity of Integer-Pel EBMA Assumption – Image size: M x M – Block size: N x N – Search range: (-R, R) in each dimension – Search stepsize: 1 pixel (assuming integer MV) • Operation counts (1 operation=1 “-”, 1 “+”, 1 “*”): – Each candidate position: N2 – Each block going through all candidates: (2R+1)2 N2 – Entire frame: (M/N)2 (2R+1)2 N2 = M2 (2R+1)2 • Independent of block size! • Example: M = 512, N = 16, R = 16, 30 fps Total operation count = 2.85x108/frame = 8.55x109/second • Regular structure suitable for VLSI implementation • Challenging for software-only implementation (2R+1)2N2 2019/4/6 ME & DCT VCLab

32 Fast Algorithms for BMA
2019/4/6 Fast Algorithms for BMA (2R+1)2 Reduce # of search candidates: • Only search for those that are likely to produce small errors. • Predict possible remaining candidates, based on previous search result Simplify the error measure (DFD) to reduce the computation involved for each candidate 2019/4/6 ME & DCT VCLab

33 Fast Block Matching Algorithms
2019/4/6 TSS Three-Step Search Algorithm BBGDS Block-Based Gradient Descent Search Algorithm NTSS New 3-Step Search Algorithm DS Diamond Search Algorithm FSS Four-Step Search Algorithm In following slides, more fast block motion estimation techniques based on reducing the candidate blocks of checking points is portrayed. They are… 2019/4/6 ME & DCT VCLab

34 TSS (Three-Step Search Algorithm)
2019/4/6 TSS (Three-Step Search Algorithm) The TSS is developing early in the the idea is perform on a 15x15 search area. At the initial step nine checking points include the center and 8 points which locate at the half distance between the edge of search area and the center are examined. If the best match block which has minimum MAE locates at the right-top corner, then the second steps is performed by center to the new checking points and another 8 checking which have only half distance corresponding to the pervious step are examined. Continually, the last 8 checking points are examined with half distance again on the minimum MAE checking points. When the best matching checking point is located at the center or reach the edge of the search area, the algorithm stops. For a 15x15 search area, the TSS always takes only three steps to complete the algorithm, that is why it called as a three steps search algorithm. 2019/4/6 ME & DCT VCLab

35 BBGDS (Block-Based Gradient Descent Search Algorithm)
2019/4/6 BBGDS (Block-Based Gradient Descent Search Algorithm) In this slide an other gradient descent search algorithm is proposed. The BBGDS works like 4SS very much. But the distance of the center checking points and the other checking points is only 1 pixel. This searching scheme is very suitable for the slow motion sequences. But for the large motion sequence it is very inefficient because it may trap into a local minimum checking points. 2019/4/6 ME & DCT VCLab

36 NTSS (New 3-Step Search Algorithm)
2019/4/6 NTSS (New 3-Step Search Algorithm) The new 3-step search algorithm is a combination of TSS and BBGDS. Since TSS is suitable for large motion and BBGDS is more suitable for slow motion contents. The NTSS first examines 17 checking points include the first step of TSS and the BBGDS pattern. If the best match is located at the inside checking points then the BBGDS search is perform otherwise the TSS is done for the rest steps. 2019/4/6 ME & DCT VCLab

37 NTSS (2) Decision 1: min at the search window center ?
2019/4/6 NTSS (2) Decision 1: min at the search window center ? Decision 2: min at one neighbor of center ? 1st step of NTSS 17 checking points Decision 1 Decision 2 MV=0 T F 2nd step of NTSS 3 or 5 checking points 2nd and 3rd step of NTSS (same as in TSS) IEEE Transactions on Circuits and Systems for Video Technology, June 1994. 2019/4/6 ME & DCT VCLab

38 FSS (Four-Step Search Algorithm)
2019/4/6 FSS (Four-Step Search Algorithm) The differences between TSS and FSS is that the TSS downscale the checking points distance per step. But the FSS uses same distance to move the checking pattern. The algorithm start at zero motion checking points and 8 checking points with distance 2 pixels. If the minimum is located at the upper middle point. Then only additional three checking points need to be joined for next step comparison. If the minimum MAE is located at the corner position, then five new checking points need to addin. Finally when the checking points is near by the edge of search area, the distance is reduced to 1 pixel. In a 15 by 15 search area, the 4SS takes at most 4 steps to get convergences. That is the same reason it called 4 step search algorithm. 2019/4/6 ME & DCT VCLab

39 DS (Diamond Search Algorithm)
2019/4/6 DS (Diamond Search Algorithm) 2019/4/6 ME & DCT VCLab

40 Adaptive Search Patterns
2019/4/6 Adaptive Search Patterns TSS + DS + BBGDS 2019/4/6 ME & DCT VCLab

41 Fractional Pixel Accuracy
2019/4/6 Fractional Pixel Accuracy Fractional pixel accuracy e.g., half-pixel accuracy Integer pixel half pixel H.263, Foreman, QCIF SKIP=2, Q=4,5,7,10,15,25 (dx, dy) = (1.5, 1) 2019/4/6 ME & DCT VCLab

42 2019/4/6 Exercise #1 1. Calculate the total amount of computations of EBMA for H.264 per P frame of size 19201088. Due: March 28 2019/4/6 ME & DCT VCLab

43 Introduction to ME and DCT
2019/4/6 Introduction to ME and DCT Motion Estimation Discrete Cosine Transform 2019/4/6 ME & DCT VCLab

44 Outline Transform Coding Principles of Transform Coding
2019/4/6 Outline Transform Coding Principles of Transform Coding Computation of Transform Coding Discrete Fourier Transform What Is DCT And Why Use DCT How to Compute DCT Program the DCT 2019/4/6 ME & DCT VCLab

45 2019/4/6 Transform Coding The picture is handled in a semi-parallel manner in blocks of elements. And it operates by generating a set of output data for each block in which the individual values are no longer correlated with one another and in which most of the energy of the original block is contained in a small proportion of the output samples. Karhunen-Loeve transform (KLT) Discrete and Fast Fourier transform Hadamard transform Discrete cosine transform Wavelet transform 2019/4/6 ME & DCT VCLab

46 Principles of Transform Coding
2019/4/6 Principles of Transform Coding Decorrelation: to generate less correlated or uncorrelated transform coefficients for greater or greatest efficiencies respectively. Linearity: to allow a one-to-one mapping between the spatial and transform domains. Orthogonality: the energy in both domains should be the same, and therefore no energy is either lost or carried redundantly. 2019/4/6 ME & DCT VCLab

47 Principles of Transform Coding
2019/4/6 Principles of Transform Coding Sparsity (or energy compaction) in transformed domain: The energy in the transform domain tends always to be concentrated in the same subset of components, usually those representing low frequencies. In mathematical terms, the analysis or first stage of the encoding process is a linear transformations that converts a set of highly correlated pixels with uniform probability density functions into a new set of less correlated coefficients with non-uniform pdfs. 2019/4/6 ME & DCT VCLab

48 Computation of Transform Coding
2019/4/6 Computation of Transform Coding 1-D transform 2-D transform: Usually 2-D transformation matrices are separable and the UV transform coefficients are derived from two 1-D transforms of lengths M and N. In implementation, this is done by N times the 1-D transforms of M pixels in the line scan direction. This results in MN 1-D transform coefficients; further M times the1-D transforms of the sets of N 1-D transform coefficients; the final and true 2-D transform coefficients are then derived. 2019/4/6 ME & DCT VCLab

49 Discrete Fourier Transform
2019/4/6 Discrete Fourier Transform Basis function: N: the matrix length, k: the frequency or sequence index of the basis vectors, n: the pixel index. Fast Fourier transform algorithm: requires O(nlog2n) time complexity. Spurious spectral components are generated due to the implicit periodicity of the image blocks. 2019/4/6 ME & DCT VCLab

50 Discrete Cosine Transform
2019/4/6 Discrete Cosine Transform The most efficient suboptimum transform the elements of the kth basis vector: cos(k(2n+1)/2N)'s It has the advantage over all other suboptimum transforms in that its basis vectors resemble closely the basis vectors of the KLT for smoothly varying video inputs. (for a first-order Markov source model) The n-point DCT can be computed as a 2n-point DFT 2019/4/6 ME & DCT VCLab

51 Transform Coding System
2019/4/6 Transform Coding System Input samples Forward transform Binary decoder Quantizer Inverse transform ÷10 Network ×10 Binary encoder Inverse quantizer e.g. zip, RAR Huffman coding 2019/4/6 ME & DCT VCLab Output samples

52 Representation of An Image
2019/4/6 Representation of An Image How to code an image? Spatial domain (pixel-based) Transform domain 2019/4/6 ME & DCT VCLab

53 Why Use DCT? Properties of DCT
2019/4/6 Why Use DCT? Properties of DCT Use cosine function as its basis function Performance approaches KLT Fast algorithm exists Most popular in image compression applications 2019/4/6 ME & DCT VCLab

54 Does Transform Really Make Sense ?
2019/4/6 Does Transform Really Make Sense ? Energy compaction De-correlation: dependency elimination 2019/4/6 ME & DCT VCLab

55 An Example 8 8 2019/4/6 2019/4/6 ME & DCT 2008 VCLab 139 148 150 149
155 164 165 168 98 115 130 135 143 146 142 147 89 110 125 128 129 121 104 106 96 116 132 134 113 109 111 127 131 137 120 122 126 133 112 136 138 140 144 141 8 8 2019/4/6 ME & DCT VCLab

56 An Example A pixel expressed by it’s value
2019/4/6 An Example A pixel expressed by it’s value The coefficient of the basis vector (0,0) DCT IDCT Pixel values in spatial domain DCT coefficients in transform domain 2019/4/6 ME & DCT VCLab

57 Definition of DCT Basis Function
2019/4/6 Definition of DCT Basis Function Basis function of the 1-D N-point DCT For N = 8 2019/4/6 ME & DCT VCLab

58 2019/4/6 An Example, N = 4 2019/4/6 ME & DCT VCLab

59 2019/4/6 An Example, N = 4 2019/4/6 ME & DCT VCLab

60 An Example Represent a vector (e.g. a block of image samples) as the
2019/4/6 An Example Represent a vector (e.g. a block of image samples) as the superposition of some typical vectors (block patterns) 2019/4/6 ME & DCT VCLab

61 Basic diagram of DCT Discrete cosine transform and Inverse DCT (1) (2)
2019/4/6 Basic diagram of DCT Discrete cosine transform and Inverse DCT (1) (2) 2019/4/6 ME & DCT VCLab

62 The Basis of 2D-DCT with 8x8 Block
2019/4/6 The Basis of 2D-DCT with 8x8 Block 2019/4/6 ME & DCT VCLab

63 Again – Do You Know What DCT Mean?
2019/4/6 Again – Do You Know What DCT Mean? A pixel expressed by it’s value The coefficient of the basis vector (0,0) DCT IDCT Pixel values in spatial domain DCT coefficients in transform domain 2019/4/6 ME & DCT VCLab

64 2019/4/6 How to Compute: 1-D VS. 2-D [1-D] For a M × N 2D-block, we can use 1D N-point DCT in the row direction, then the 1-D M-point DCT in the column direction to get the 2D-DCT [2-D] If 8 × 8 blocks are applied, the 2D-DCT will be 2019/4/6 ME & DCT VCLab

65 DCT Matrix is Orthonormal
2019/4/6 DCT Matrix is Orthonormal The above equation is zero if u≠ v orthogonal The basis vector of DCT has unit norm 2019/4/6 ME & DCT VCLab

66 Energy Compaction of Orthormal Transform
2019/4/6 Energy Compaction of Orthormal Transform 2019/4/6 ME & DCT VCLab

67 Separable Transform (1/2)
2019/4/6 Separable Transform (1/2) 2019/4/6 ME & DCT VCLab

68 Separable Transform (2/2)
2019/4/6 Separable Transform (2/2) 2019/4/6 ME & DCT VCLab

69 2019/4/6 Fast DCT algorithm (1/2) 2019/4/6 ME & DCT VCLab

70 2019/4/6 Fast DCT Algorithm (2/2) 2019/4/6 ME & DCT VCLab

71 How to program (1/3) - Basis
2019/4/6 How to program (1/3) - Basis /***************************************************************************/ /*2D N*N DCT */ /*Input */ /*int argSource[N][N]:One block in the original image */ /*Output */ /*float argDCT[N][N]:The block in frequency domain corresponding to argSource[M][N] */ void DCT(int argDCT[8][8] , int argSource[8][8]) { float C[8],Cos[8][8]; float temp; int i,j,u,v; for(i=0;i<8;i++) for(j=0;j<8;j++) Cos[i][j]=cos((2*i+1)*j*PI/16); C[0]= ; for(i=1;i<8;i++) C[i]=0.5; for(u=0;u<8;u++) for(v=0;v<8;v++) temp=0.0; temp+=Cos[i][u]*Cos[j][v]*(argSource[i][j]-128); temp*=C[u]*C[v]; argDCT[u][v]=temp; } 2019/4/6 ME & DCT VCLab

72 How to program (2/3) – A fast algorithm
2019/4/6 How to program (2/3) – A fast algorithm /***************************************************************************/ /*2D N*N DCT */ /*Input */ /*int argSource[N][N]:One block in the original image */ /*Output */ /*float argDCT[N][N]:The block in frequency domain corresponding to argSource[M][N] */ void DCT(int argDCT[8][8] , int argSource[8][8]) { float temp[8][8],temp1; int i,j,k; for(i=0;i<8;i++) for(j=0;j<8;j++) { temp[i][j] = 0.0; for(k=0;k<8;k++) temp[i][j] +=((int) argSource[i][k]-128)*Ct[k][j]; } for(i=0;u<8;u++) for(j=0;v<8;v++) temp1=0.0; for(k=0;k<8;k++) temp1+ =C[i][k] * temp[k][j]; argDCT[i][j]=ROUND(temp1); } 2019/4/6 ME & DCT VCLab

73 How to program (3/3) - for hardware implementation
2019/4/6 How to program (3/3) - for hardware implementation #include <stdio.h> #define RS(r,s) ((r) >> (s)) #define SCALE(exp) RS((exp),10) void DCT(short int*input, short int*output) { short int jc, i, j, k; short int b[8]; short int b1[8]; short int d[8][8]; int c0=724;/* ; lect shift 10*/ int c1=502; int c2=474; int c3=426; int c4=362; int c5=284; int c6=196; int c7=100; for (i = 0, k = 0; i < 8; i++, k += 8) for (j = 0; j < 8; j++) b[j] = input[k+j]; } /* row transform */ for (j = 0; j < 4; j++) jc = 7 - j; b1[j] = b[j] + b[jc]; b1[jc] = b[j] - b[jc]; b[0] = b1[0] + b1[3]; b[1] = b1[1] + b1[2]; b[2] = b1[1] - b1[2]; b[3] = b1[0] - b1[3]; b[4] = b1[4]; b[5] = SCALE((b1[6] - b1[5]) * c0); b[6] = SCALE((b1[6] + b1[5]) * c0); b[7] = b1[7]; d[i][0] = SCALE((b[0] + b[1]) * c4); d[i][4] = SCALE((b[0] - b[1]) * c4); d[i][2] = SCALE(b[2] * c6 + b[3] * c2); d[i][6] = SCALE(b[3] * c6 - b[2] * c2); b1[4] = b[4] + b[5]; b1[7] = b[7] + b[6]; b1[5] = b[4] - b[5]; b1[6] = b[7] - b[6]; d[i][1] = SCALE(b1[4] * c7 + b1[7] * c1); d[i][5] = SCALE(b1[5] * c3 + b1[6] * c5); d[i][7] = SCALE(b1[7] * c7 - b1[4] * c1); d[i][3] = SCALE(b1[6] * c3 - b1[5] * c5); } /* column transform */ for (i = 0; i < 8; i++) { for (j = 0; j < 4; j++) { jc = 7 - j; b1[j] = d[j][i] + d[jc][i]; b1[jc] = d[j][i] - d[jc][i]; b[0] = b1[0] + b1[3]; b[1] = b1[1] + b1[2]; b[2] = b1[1] - b1[2]; b[3] = b1[0] - b1[3]; b[4] = b1[4]; b[5] = SCALE((b1[6] - b1[5]) * c0); b[6] = SCALE((b1[6] + b1[5]) * c0); b[7] = b1[7]; d[0][i] = SCALE((b[0] + b[1]) * c4); d[4][i] = SCALE((b[0] - b[1]) * c4); d[2][i] = SCALE(b[2] * c6 + b[3] * c2); d[6][i] = SCALE(b[3] * c6 - b[2] * c2); b1[4] = b[4] + b[5]; b1[7] = b[7] + b[6]; b1[5] = b[4] - b[5]; b1[6] = b[7] - b[6]; d[1][i] = SCALE(b1[4] * c7 + b1[7] * c1); d[5][i] = SCALE(b1[5] * c3 + b1[6] * c5); d[7][i] = SCALE(b1[7] * c7 - b1[4] * c1); d[3][i] = SCALE(b1[6] * c3 - b1[5] * c5); } for (i = 0; i < 8; i++) { /* store 2-D array(8*8) data into a 1-D array (64)*/ for (j = 0; j < 8; j++) { *(output + i*8 + j) = (d[i][j]); 2019/4/6 ME & DCT VCLab

74 2019/4/6 Conclusion DCT provides a new method to express an image with the properties of the image The fast algorithm provided for hardware implement is possible. 2019/4/6 ME & DCT VCLab

75 2019/4/6 Conclusion 2019/4/6 ME & DCT VCLab

76 Reference Software H.264 MPEG-4 http://iphome.hhi.de/suehring/tml/
2019/4/6 Reference Software H.264 MPEG-4 2019/4/6 ME & DCT VCLab

77 2019/4/6 Leakage Reduction (1) It’s inherent in the DIGITAL Fourier transforms because of the required time domain truncation. If the truncation interval is chosen equal to a multiple of the period, the frequency domain sampling function is coincided with the zeros of the sin(f)/f function do not alter the DFT results. If the truncation interval is NOT chosen equal to a multiple of the period, the side-lobe characteristics of the sin(f)/f frequency function result additional frequency components (leakage) in DFT domain. 2019/4/6 ME & DCT VCLab

78 2019/4/6 Leakage Reduction (2) To reduce this leakage it is necessary to employ a time domain truncation function which has side-lobe characteristics that are of smaller magnetite. The Hanning function: The effect is to reduce the discontinuity, which results from the rectangular truncation function. 2019/4/6 ME & DCT VCLab

79 2019/4/6 2019/4/6 ME & DCT VCLab

80 2019/4/6 2019/4/6 ME & DCT VCLab


Download ppt "Introduction to ME and DCT"

Similar presentations


Ads by Google