Image and Video Coding: Hybrid Video Coding
s′
n−1[ x, y ]
x y mk = (mx, my)k sn[ x, y ]
Image and Video Coding: Hybrid Video Coding s n 1 [ x , y ] s n [ - - PowerPoint PPT Presentation
Image and Video Coding: Hybrid Video Coding s n 1 [ x , y ] s n [ x , y ] m k = ( m x , m y ) k x y Hybrid Video Coding Last Lectures: Block-Based Image Coding s k [ x , y ] u k [ x , y ] t k [ x , y ] q k [ x , y ] bitstream scalar
s′
n−1[ x, y ]
x y mk = (mx, my)k sn[ x, y ]
Hybrid Video Coding
2D block transform scalar quantization entropy coding input picture qk[x, y] tk[x, y] bitstream sk[x, y] intra-picture prediction buffer for current picture − ˆ sk[x, y] uk[x, y] scaling &
u′
k[x, y]
s′
k[x, y]
1 Transform Coding of Sample Blocks
2 Intra-Picture Prediction between Transform Blocks
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 2 / 42
Hybrid Video Coding / Frame Difference Coding
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 3 / 42
Hybrid Video Coding / Frame Difference Coding
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 4 / 42
Hybrid Video Coding / Frame Difference Coding
prev[x, y]
current original picture s[x, y] prediction error u[x, y]
1 Intra prediction:
2 Inter prediction:
prev[x, y]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 5 / 42
Hybrid Video Coding / Frame Difference Coding
Johnny (original) frame difference (42.6 dB)
BQTerrace (original) frame difference (27.7 dB)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 6 / 42
Hybrid Video Coding / Frame Difference Coding
34 35 36 37 38 39 40 41 42 43 44 2 4 6 8 10 Intra FD PSNR (Y) [dB] bit rate [Mbit/s] Johnny (1280×720, 60 Hz) 30 31 32 33 34 35 36 37 38 10 20 30 40 50 60 70 80 Intra FD PSNR (Y) [dB] bit rate [Mbit/s] BQTerrace (1920×1080, 60 Hz)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 7 / 42
Hybrid Video Coding / Motion-Compensated Prediction
x y displacement vector for current block m = (mx, my) current picture displaced object best matching block in reference picture reconstructed reference picture moving object
ref[ x + mx, y + my ]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 8 / 42
Hybrid Video Coding / Motion-Compensated Prediction
ref[x + mx, y + my]
ref[ x, y ]
current original picture s[ x, y ]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 9 / 42
Hybrid Video Coding / Motion-Compensated Prediction
ref[x, y]
motion vector field m[x, y] referenced blocks in s′
ref[x, y]
prediction ˆ s[x, y] for current picture
s[x, y]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 10 / 42
Hybrid Video Coding / Motion-Compensated Prediction
Johnny (original) frame difference (42.6 dB) MCP error (44.6 dB) BQTerrace (original) frame difference (27.7 dB) MCP error (33.7 dB)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 11 / 42
Hybrid Video Coding / Motion-Compensated Prediction
ref[x, y]
current original picture s[x, y] prediction error u[x, y]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 12 / 42
Hybrid Video Coding / Motion-Compensated Prediction
32 33 34 35 36 37 38 2 4 6 8 10 all coding modes intra-picture coding modes are disabled in inter pictures PSNR (Y) [dB] bit rate [Mbit/s] Basketball Drive, IPPP 5 10 15 20 25 30 32 33 34 35 36 37 38 bit-rate increase due to disabling of intra-picture coding modes in inter pictures (on average, 11%) bit-rate increase [%] PSNR (Y) [dB] Basketball Drive, IPPP
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 13 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
ref[x, y]
current original picture s[x, y] prediction error u[x, y]
1 Intra prediction:
2 Inter prediction:
ref[ x + mx, y + my ]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 14 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
scaling &
transform & quantization intra mode decision intra-picture prediction entropy coding buffer for current picture input picture sk[x, y] uk[x, y] quantization indexes qk[x, y] u′
k[x, y]
s∗
k [x, y]
bitstream intra prediction modes f iprd( s∗
k [x, y] )
ˆ sk[x, y] = f iprd( s∗
k [x, y] )
−
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 15 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
scaling &
transform & quantization intra mode decision intra-picture prediction entropy coding in-loop filtering decoded picture buffer motion-comp. prediction motion estimation coding mode decision buffer for current picture first input picture input pictures sk[x, y] uk[x, y] quantization indexes qk[x, y] u′
k[x, y]
s∗
k [x, y]
bitstream s∗
k [x, y]
s′
k[x, y]
intra prediction modes intra prediction modes intra prediction modes f iprd( s∗
k [x, y] )
f iprd( s∗
k [x, y] )
ˆ sk[x, y] = f iprd( s∗
k [x, y] )
ˆ sk[x, y] − motion data motion data s′
ref[x + mx, y + my]
coding modes, intra prediction modes, motion data
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 16 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
scaling &
intra-picture prediction entropy decoding in-loop filtering decoded picture buffer motion-comp. prediction buffer for current picture reconstructed pictures bitstream f iprd( s∗
k [x, y] )
s′
ref[x + mx, y + my]
prediction signal ˆ s[x, y] quantization indexes qk[x, y] u′
k[x, y]
s∗
k [x, y]
s∗
k [x, y]
s′
k[x, y]
intra prediction modes motion data
coding modes
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 17 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
34 36 38 40 42 44 46 1 2 3 4 5 6 7 8 Intra FD simple MCP improved MCP PSNR (Y) [dB] bit rate [Mbit/s] Johnny (1280×720, 60 Hz) 30 32 34 36 38 40 10 20 30 40 50 60 70 80 Intra FD simple MCP improved MCP PSNR (Y) [dB] bit rate [Mbit/s] BQTerrace (1920×1080, 60 Hz)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 18 / 42
Hybrid Video Coding / Block-based Hybrid Video Coding
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 19 / 42
Theoretical Analysis of Motion-Compensated Prediction
r-d optimal intra-picture encoder input pictures bitstream motion- compensated prediction decoded picture buffer s′
ref[x, y]
− s[x, y] u[x, y] intra-picture decoder u′[x, y] ˆ s[x, y] = s′
ref[x + mx, y + my]
s′[x, y]
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 20 / 42
Theoretical Analysis of Motion-Compensated Prediction / Models
−π
−π
−π
−π
— Image and Video Coding: Hybrid Video Coding 21 / 42
Theoretical Analysis of Motion-Compensated Prediction / Models
S · ̺
ζ2+η2
S/σ2 N
— Image and Video Coding: Hybrid Video Coding 22 / 42
Theoretical Analysis of Motion-Compensated Prediction / Models
n−1
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 23 / 42
Theoretical Analysis of Motion-Compensated Prediction / Results
dashed lines : ideal interpolator; solid lines : Wiener filter
10 20 30 0.5 1 1.5 2 2.5 3 Φ(ω) / σS2 [dB] spatial frequency |ωx| (ωy=0) ρ = 0.9, Θ = 5 dB signal spectrum ΦSS ΦUU (integer-sample accuracy) ΦUU (quarter-sample accuracy)
10 20 30 0.5 1 1.5 2 2.5 3 Φ(ω) / σS2 [dB] spatial frequency |ωx| (ωy=0) ρ = 0.9, Θ = 20 dB signal spectrum ΦSS ΦUU (integer-sample accuracy) ΦUU (quarter-sample accuracy)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 24 / 42
Theoretical Analysis of Motion-Compensated Prediction / Results
dashed lines : ideal interpolator; solid lines : Wiener filter
5 10 15 20 25 30 35 40 0.5 1 1.5 2 2.5 3 SNR: 10 log10( σS2 / D ) [dB] bit rate [bits/sample] ρ = 0.9, Θ = 5 dB intra-picture coding MCP (integer-sample accuracy) MCP (quarter-sample accuracy) 5 10 15 20 25 30 35 40 0.5 1 1.5 2 2.5 3 SNR: 10 log10( σS2 / D ) [dB] bit rate [bits/sample] ρ = 0.9, Θ = 20 dB intra-picture coding MCP (integer-sample accuracy) MCP (quarter-sample accuracy)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 25 / 42
Theoretical Analysis of Motion-Compensated Prediction / Results
2 4 6 8 10 1/1 1/2 1/4 1/8 1/16 SNR gain rel. to intra coding motion vector accuracy in samples ρ = 0.9 Θ = 20 dB Θ = 15 dB Θ = 10 dB Θ = 5 dB
5 0.5 1 1.5 2 2.5 3 20 log10 |Gopt(ω)| [dB] spatial frequency |ωx| (ωy=0) ρ = 0.9, β = 2 Θ = 20 dB Θ = 15 dB Θ = 10 dB Θ = 5 dB
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 26 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 27 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy
integer-sample locations half-sample locations quarter-sample locations
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 28 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy
1 Horizontal interpolation (for required values of y ∗)
2 Vertical interpolation (yielding final values)
A B C D X φy φx
(x + mix, y + miy) (x + mx, y + my)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 29 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy
28 30 32 34 36 38 40 42 2 4 6 8 10 12 14 MCP (1/1 sample) MCP (1/2 sample) MCP (1/4 sample) Intra PSNR (Y) [dB] bit rate [Mbit/s] BQSquare (416×240, 60 Hz) IPPP, 16×16 MC blocks 34 36 38 40 42 44 1 2 3 4 5 MCP (1/1 sample) MCP (1/2 sample) MCP (1/4 sample) Intra PSNR (Y) [dB] bit rate [Mbit/s] Johnny (1280×720, 60 Hz) IPPP, 16×16 MC blocks
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 30 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 31 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 32 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
1 Horizontal interpolation
kmax(φx)
2 Vertical interpolation
kmax(φy)
(x +mix, y +miy)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 33 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
filter coefficients h[k] (division by 64) phase
1 2 3 4 1/4 48 16 2-tap 1/2 32 32 3/4 16 48 1/4
54 16
4-tap 1/2
36 36
3/4
16 54
1/4 1
52 20
1 6-tap 1/2 2
40 40
2 3/4 1
20 52
1 1/4
4
58 17
1 8/7-tap 1/2
4
40 40
4
3/4 1
17 58
4
linear interpolation chroma interpolation filter in H.265 | HEVC luma interpolation filter in H.264 | AVC luma interpolation filter in H.265 | HEVC
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 34 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
2 0.5 1 1.5 2 2.5 3 Magnitude 20 log10 |G(ω)| [dB] spatial frequency |ω| half-sample locations 2-tap filter 4-tap filter 6-tap filter 8-tap filter
2 0.5 1 1.5 2 2.5 3 Magnitude 20 log10 |G(ω)| [dB] spatial frequency |ω| quarter-sample locations 2-tap filter 4-tap filter 6-tap filter 7-tap filter
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 35 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.5 1 1.5 2 2.5 3 phase delay [samples] spatial frequency |ω| quarter-sample locations 2-tap filter 4-tap filter 6-tap filter 7-tap filter
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 36 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
10 20 30 40 50 60 70 80 28 30 32 34 36 38 4-tap filter 6-tap filter 8-tap filter bit-rate saving vs 2-tap filter [%] PSNR (Y) [dB] BQSquare (416×240, 60 Hz) 1/2-sample acc. (IPPP, 16×16 MC blocks)
10 20 30 40 50 34 36 38 40 42 44 4-tap filter 6-tap filter 8-tap filter bit-rate saving vs 2-tap filter [%] PSNR (Y) [dB] Johnny (1280×720, 60 Hz) 1/2-sample acc. (IPPP, 16×16 MC blocks)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 37 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
10 20 30 40 50 60 70 80 28 30 32 34 36 38 4-tap filters 6-tap filters 8/7-tap filters bit-rate saving vs 2-tap filters [%] PSNR (Y) [dB] BQSquare (416×240, 60 Hz) 1/4-sample acc. (IPPP, 16×16 MC blocks)
10 20 30 40 50 34 36 38 40 42 44 4-tap filters 6-tap filters 8/7-tap filters bit-rate saving vs 2-tap filters [%] PSNR (Y) [dB] Johnny (1280×720, 60 Hz) 1/4-sample acc. (IPPP, 16×16 MC blocks)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 38 / 42
Accuracy of Motion-Compensated Prediction / Interpolation Filters
10 20 30 40 50 60 70 80 28 30 32 34 36 38 4-tap filters 6-tap filters 8/7-tap filters bit-rate saving vs 2-tap filters [%] PSNR (Y) [dB] BQSquare (416×240, 60 Hz) 1/4-sample acc. (IBBB, all MC block sizes)
10 20 30 40 50 34 36 38 40 42 44 4-tap filters 6-tap filters 8/7-tap filters bit-rate saving vs 2-tap filters [%] PSNR (Y) [dB] Johnny (1280×720, 60 Hz) 1/4-sample acc. (IBBB, all MC block sizes)
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 39 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy with Improved Interpolation
28 30 32 34 36 38 40 42 2 4 6 8 10 12 14 MCP (1/1 sample) MCP (1/2 sample) MCP (1/4 sample) Intra PSNR (Y) [dB] bit rate [Mbit/s] BQSquare (416×240, 60 Hz) IPPP, 16×16 MC blocks 34 36 38 40 42 44 1 2 3 4 5 MCP (1/1 sample) MCP (1/2 sample) MCP (1/4 sample) Intra PSNR (Y) [dB] bit rate [Mbit/s] Johnny (1280×720, 60 Hz) IPPP, 16×16 MC blocks
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 40 / 42
Accuracy of Motion-Compensated Prediction / Motion Vector Accuracy with Improved Interpolation
entertainment-quality video content bit-rate savings relative to ... Intra MCP (1/1) MCP (1/2) MCP (1/1) 51.0 % MCP (1/2) 59.6 % 18.9 % MCP (1/4) 62.6 % 25.2 % 8.9 % video conferencing content bit-rate savings relative to ... Intra MCP (1/1) MCP (1/2) MCP (1/1) 82.8 % MCP (1/2) 86.6 % 21.2 % MCP (1/4) 88.4 % 30.0 % 11.7 %
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 41 / 42
Summary
Heiko Schwarz (Freie Universität Berlin) — Image and Video Coding: Hybrid Video Coding 42 / 42