<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">www.vcodex.com<span class="ls1"> <span class="_ _0"> </span> <span class="_ _1"> </span><span class="ls2 ws1">H.264 / MPEG</span><span class="ls3">-<span class="ls4 ws2">4 Part 10 : Overview</span></span><span class="ff2"> </span></span></div><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls5 ws3">© Iain E G Richardson<span class="ls1 ws0"> <span class="_ _2"> </span>07<span class="ls6">/</span>10<span class="ls6">/</span>02 <span class="_ _3"> </span><span class="ls7 ws4">Page </span>1<span class="ls8 ws5"> of </span>1 </span></div><div class="t m0 x1 h4 y3 ff3 fs0 fc0 sc0 ls9 ws6">H.264 / MPEG<span class="ls3 ws0">-<span class="lsa ws7">4 Part 10 White Paper</span><span class="ls1"> </span></span></div><div class="t m0 x1 h2 y4 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y5 ff3 fs0 fc0 sc0 lsb ws8">Overview of H.264<span class="ff2 ls1 ws0"> </span></div><div class="t m0 x1 h4 y6 ff3 fs0 fc0 sc0 ls1 ws0">1. <span class="_ _4"> </span><span class="lsc ws9">Introduction </span> </div><div class="t m0 x1 h2 y7 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y8 ff2 fs0 fc0 sc0 lsd wsa">Broadcast television and home entertainment have been revolutionised by the advent of digital TV and </div><div class="t m0 x1 h2 y9 ff2 fs0 fc0 sc0 lse ws0">DVD<span class="ls3">-<span class="_ _5"></span><span class="lsf wsb">video. These applications and many more were made possible by the standardisation <span class="ls10 wsc">of video </span></span></span></div><div class="t m0 x1 h2 ya ff2 fs0 fc0 sc0 ls11 wsd">compression technology. The next standard in the MPEG series, MPEG4, is enabling a new generation </div><div class="t m0 x1 h2 yb ff2 fs0 fc0 sc0 ls12 wse">of internet<span class="ls3 ws0">-<span class="ls13 wsf">based video applications whilst the ITU<span class="_ _5"></span><span class="ls3 ws0">-<span class="ls11 ws10">T H.263 standard for video compression is now </span></span></span></span></div><div class="t m0 x1 h2 yc ff2 fs0 fc0 sc0 ls14 ws11">widely used in videoconferencing systems.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 yd ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 ye ff2 fs0 fc0 sc0 ls15 ws12">MPEG4 (V<span class="ls16 ws13">isual) and H.263 are standards that are based on video compression (“video coding”) </span></div><div class="t m0 x1 h2 yf ff2 fs0 fc0 sc0 ls17 ws14">technology from circa. 1995. The groups responsible for these standards, the Motion Picture Experts </div><div class="t m0 x1 h2 y10 ff2 fs0 fc0 sc0 ls18 ws15">Group and the Video Coding Experts Group (MPEG and VCEG) are in the fina<span class="ls1 ws16">l stages of developing </span></div><div class="t m0 x1 h2 y11 ff2 fs0 fc0 sc0 ls19 ws17">a new standard that promises to significantly outperform MPEG4 and H.263, providing better </div><div class="t m0 x1 h2 y12 ff2 fs0 fc0 sc0 ls1 ws0">compression of video images together with a range of features supporting high<span class="ls3">-<span class="ls1a ws18">quality, low</span>-<span class="_ _5"></span><span class="ls1b ws19">bitrate </span></span></div><div class="t m0 x1 h2 y13 ff2 fs0 fc0 sc0 ls19 ws17">streaming video. The history of the new sta<span class="ls1 ws0">ndard, “Advanced Video Coding” (AVC), goes back at </span></div><div class="t m0 x1 h2 y14 ff2 fs0 fc0 sc0 ls1c ws1a">least 7 years.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 y15 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y16 ff2 fs0 fc0 sc0 ls1d ws1b">After finalising the original H.263 standard for videotelephony in 1995, the ITU<span class="ls3 ws0">-<span class="_ _5"></span><span class="ls1d ws1c">T Video Coding </span></span></div><div class="t m0 x1 h2 y17 ff2 fs0 fc0 sc0 ls1e ws1d">Experts Group (VCEG) started work on two further development areas: a “short<span class="ls3 ws0">-<span class="ls1f ws1e">term” effort to <span class="ls20 ws1f">add </span></span></span></div><div class="t m0 x1 h2 y18 ff2 fs0 fc0 sc0 ls21 ws20">extra features to H.263 (resulting in Version 2 of the standard) and a “long<span class="ls3 ws0">-<span class="_ _5"></span><span class="ls22 ws21">term” effort to develop a </span></span></div><div class="t m0 x1 h2 y19 ff2 fs0 fc0 sc0 ls23 ws22">new standard for low bitrate visual communications. The long<span class="ls3 ws0">-<span class="_ _5"></span><span class="ls24 ws23">term effort led to the draft “H.26L” </span></span></div><div class="t m0 x1 h2 y1a ff2 fs0 fc0 sc0 ls25 ws24">standard, offering significantly better video compr<span class="ls9 ws6">ession efficiency than previous ITU<span class="ls3 ws0">-<span class="_ _5"></span><span class="ls15 ws12">T standards. In </span></span></span></div><div class="t m0 x1 h2 y1b ff2 fs0 fc0 sc0 ls26 ws25">2001, the ISO Motion Picture Experts Group (MPEG) recognised the potential benefits of H.26L and </div><div class="t m0 x1 h2 y1c ff2 fs0 fc0 sc0 ls27 ws26">the Joint Video Team (JVT) was formed, including experts from MPEG and VCEG. JVT’s main task </div><div class="t m0 x1 h2 y1d ff2 fs0 fc0 sc0 ls18 ws15">is to develop <span class="ls28 ws27">the draft H.26L “model” into a full International Standard. In fact, the outcome will be </span></div><div class="t m0 x1 h2 y1e ff2 fs0 fc0 sc0 ls29 ws28">two identical) standards: ISO MPEG4 Part 10 of MPEG4 and ITU<span class="ls3 ws0">-<span class="_ _5"></span><span class="ls2a ws29">T H.264. The “official” title of the </span></span></div><div class="t m0 x1 h4 y1f ff2 fs0 fc0 sc0 ls5 ws3">new standard is Advanced Video Coding<span class="ff3 ls1 ws0"> </span><span class="ls2b ws2a">(AVC); however, it is widely kn<span class="ls2c ws2b">own by its old working title, </span></span></div><div class="t m0 x1 h2 y20 ff2 fs0 fc0 sc0 ls2d ws2c">H.26L and by its ITU document number, H.264 [<span class="ls1 ws0">1<span class="ls2e">].</span> </span></div><div class="t m0 x1 h4 y21 ff3 fs0 fc0 sc0 ls1 ws0">2. <span class="_ _4"> </span><span class="ls2f ws2d">H.264 CODEC</span> </div><div class="t m0 x1 h2 y22 ff2 fs0 fc0 sc0 ls30 ws2e">In common with earlier standards (such as MPEG1, MPEG2 and MPEG4), the H.264 draft standard </div><div class="t m0 x1 h2 y23 ff2 fs0 fc0 sc0 ls31 ws2f">does not explicitly define a CODEC (enCOder / DECoder pair). Rather, the <span class="ls32 ws30">standard defines the </span></div><div class="t m0 x1 h2 y24 ff2 fs0 fc0 sc0 ls1a ws18">syntax of an encoded video bitstream together with the method of decoding this bitstream. In practice, </div><div class="t m0 x1 h2 y25 ff2 fs0 fc0 sc0 ls33 ws31">however, a compliant encoder and decoder are likely to include the functional elements shown in </div><div class="t m0 x1 h2 y26 ff2 fs0 fc0 sc0 ls34 ws32">Figure <span class="ls1 ws0">2<span class="ls3">-</span>1<span class="ls20 ws1f"> and </span></span>Figure <span class="ls1 ws0">2<span class="ls3">-<span class="_ _5"></span><span class="ls1">2<span class="ls35 ws33">. Whilst the functions shown in these Figures are likely to be necessary for </span></span></span></span></div><div class="t m0 x1 h2 y27 ff2 fs0 fc0 sc0 ls36 ws34">compliance, there is scope for considerable variation in the structure of the CODEC. The basic </div><div class="t m0 x1 h2 y28 ff2 fs0 fc0 sc0 ls35 ws33">functional elements (prediction, transform, quantizat<span class="ls37 ws35">ion, entropy encoding) are little different from </span></div><div class="t m0 x1 h2 y29 ff2 fs0 fc0 sc0 ls38 ws36">previous standards (MPEG1, MPEG2, MPEG4, H.261, H.263); the important changes in H.264 occur </div><div class="t m0 x1 h2 y2a ff2 fs0 fc0 sc0 ls39 ws37">in the details of each functional element.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 y2b ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y2c ff2 fs0 fc0 sc0 ls3a ws38">The Encoder (<span class="ls34 ws32">Figure <span class="ls1 ws0">2<span class="ls3">-</span>1<span class="ls3b ws39">) includes two dataflow pa<span class="ls4 ws2">ths, a “forward” path (left to right, shown in blue) </span></span></span></span></div><div class="t m0 x1 h2 y2d ff2 fs0 fc0 sc0 ls37 ws3a">and a “reconstruction” path (right to left, shown in magenta). The dataflow path in the Decoder </div><div class="t m0 x1 h2 y2e ff2 fs0 fc0 sc0 ls3 ws0">(<span class="ls34 ws32">Figure </span><span class="ls1">2</span>-<span class="ls1">2<span class="ls3c ws3b">) is shown from right to left to illustrate the similarities between Encode<span class="ls16 ws13">r and Decoder.</span></span> </span></div><div class="t m0 x1 h2 y2f ff2 fs0 fc0 sc0 ls1 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.610738,0.000000,0.000000,1.610738,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/bg2.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">www.vcodex.com<span class="ls1"> <span class="_ _0"> </span> <span class="_ _1"> </span><span class="ls2 ws1">H.264 / MPEG</span><span class="ls3">-<span class="ls4 ws2">4 Part 10 : Overview</span></span><span class="ff2"> </span></span></div><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls5 ws3">© Iain E G Richardson<span class="ls1 ws0"> <span class="_ _2"> </span>07<span class="ls6">/</span>10<span class="ls6">/</span>02 <span class="_ _3"> </span><span class="ls7 ws4">Page </span>2<span class="ls8 ws5"> of </span>2 </span></div><div class="t m0 x2 h5 y30 ff4 fs1 fc0 sc0 ls3d ws0">F</div><div class="t m0 x3 h6 y31 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x4 h7 y32 ff4 fs3 fc0 sc0 ls3f ws0">(current)</div><div class="t m0 x5 h5 y33 ff4 fs1 fc0 sc0 ls40 ws0">F'</div><div class="t m0 x6 h6 y34 ff4 fs2 fc0 sc0 ls41 ws0">n-1</div><div class="t m0 x7 h8 y35 ff4 fs4 fc0 sc0 ls42 ws0">(reference)</div><div class="t m0 x8 h7 y36 ff4 fs3 fc0 sc0 ls43 ws0">MC</div><div class="t m0 x9 h7 y37 ff4 fs3 fc0 sc0 ls44 ws0">Intra</div><div class="t m0 xa h7 y38 ff4 fs3 fc0 sc0 ls45 ws0">prediction</div><div class="t m0 xb h7 y39 ff4 fs3 fc0 sc0 ls46 ws0">ME</div><div class="t m0 xc h7 y3a ff4 fs3 fc0 sc0 ls47 ws0">Filter</div><div class="t m0 xd h7 y3b ff4 fs3 fc0 sc0 ls48 ws0">Inter</div><div class="t m0 xd h7 y3c ff4 fs3 fc0 sc0 ls44 ws0">Intra</div><div class="t m0 xe h7 y3d ff4 fs3 fc0 sc0 ls49 ws0">T</div><div class="t m0 xf h7 y3a ff4 fs3 fc0 sc0 ls49 ws0">T</div><div class="t m0 x10 h9 y3e ff4 fs5 fc0 sc0 ls4a ws0">-1</div><div class="t m0 x11 h7 y3d ff4 fs3 fc0 sc0 ls4b ws0">Q</div><div class="t m0 x12 h7 y3a ff4 fs3 fc0 sc0 ls4b ws0">Q</div><div class="t m0 x13 h9 y3e ff4 fs5 fc0 sc0 ls4a ws0">-1</div><div class="t m0 x14 h7 y3d ff4 fs3 fc0 sc0 ls4c ws0">Reorder</div><div class="t m0 x15 h7 y3f ff4 fs3 fc0 sc0 ls4b ws0">Entropy</div><div class="t m0 x15 h7 y40 ff4 fs3 fc0 sc0 ls4d ws0">encode</div><div class="t m0 x16 h5 y41 ff4 fs1 fc0 sc0 ls4e ws0">NAL</div><div class="t m0 x17 h5 y42 ff4 fs1 fc0 sc0 ls4f ws0">D</div><div class="t m0 x18 h6 y43 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x19 h5 y44 ff4 fs1 fc0 sc0 ls50 ws0">P</div><div class="t m0 x1a h5 y45 ff4 fs1 fc0 sc0 ls51 ws0">uF'</div><div class="t m0 x1b h6 y46 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x1c ha y47 ff5 fs0 fc0 sc0 ls52 ws0">+</div><div class="t m0 x1d hb y48 ff5 fs6 fc0 sc0 ls53 ws0">-</div><div class="t m0 x1e ha y49 ff5 fs0 fc0 sc0 ls52 ws0">+</div><div class="t m0 x1f ha y4a ff5 fs0 fc0 sc0 ls52 ws0">+</div><div class="t m0 x20 h5 y42 ff4 fs1 fc0 sc0 ls50 ws0">X</div><div class="t m0 x2 h5 y4b ff4 fs1 fc0 sc0 ls40 ws0">F'</div><div class="t m0 x21 h6 y4c ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x22 hc y4d ff4 fs7 fc0 sc0 ls54 ws0">(reconstructed)</div><div class="t m0 x23 h5 y45 ff4 fs1 fc0 sc0 ls55 ws0">D'</div><div class="t m0 x18 h6 y46 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x24 h6 y4e ff4 fs2 fc0 sc0 ls56 ws3c">(1 or 2 previously</div><div class="t m0 x24 h6 y4f ff4 fs2 fc0 sc0 ls57 ws3d">encoded frames)</div><div class="t m0 xc h7 y50 ff4 fs3 fc0 sc0 ls58 ws0">Choose</div><div class="t m0 x25 h7 y51 ff4 fs3 fc0 sc0 ls44 ws0">Intra</div><div class="t m0 x26 h7 y52 ff4 fs3 fc0 sc0 ls45 ws0">prediction</div><div class="t m0 x27 h2 y53 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y54 ff3 fs0 fc0 sc0 ls59 ws3e">Figure <span class="ls1 ws0">2<span class="ls3">-</span>1<span class="ls5a ws3f"> AVC Encoder</span> </span></div><div class="t m0 x1 h2 y55 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x28 hd y56 ff4 fs8 fc0 sc0 ls5b ws0">F'</div><div class="t m0 x3 h6 y57 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x22 he y58 ff4 fs9 fc0 sc0 ls5c ws0">(reconstructed)</div><div class="t m1 x29 h7 y59 ff4 fs3 fc0 sc0 ls5d ws0">MC</div><div class="t m1 xc h7 y5a ff4 fs3 fc0 sc0 ls5e ws0">Filter</div><div class="t m1 x2a h7 y5b ff4 fs3 fc0 sc0 ls5f ws0">Inter</div><div class="t m1 x2a h7 y5c ff4 fs3 fc0 sc0 ls5f ws0">Intra</div><div class="t m1 x2b h7 y5d ff4 fs3 fc0 sc0 ls60 ws0">T</div><div class="t m0 xe h9 y5e ff4 fs5 fc0 sc0 ls4a ws0">-1</div><div class="t m1 x2c h7 y5d ff4 fs3 fc0 sc0 ls61 ws0">Q</div><div class="t m0 x11 h9 y5e ff4 fs5 fc0 sc0 ls4a ws0">-1</div><div class="t m1 x2d h7 y5d ff4 fs3 fc0 sc0 ls62 ws0">Reorder</div><div class="t m1 x2e h7 y1a ff4 fs3 fc0 sc0 ls63 ws0">Entropy</div><div class="t m1 x2e h7 y58 ff4 fs3 fc0 sc0 ls64 ws0">decode</div><div class="t m0 x16 hd y5f ff4 fs8 fc0 sc0 ls65 ws0">NAL</div><div class="t m0 x2f hd y15 ff4 fs8 fc0 sc0 ls66 ws0">P</div><div class="t m0 x30 hf y60 ff5 fsa fc0 sc0 ls67 ws0">+</div><div class="t m0 x31 hf y61 ff5 fsa fc0 sc0 ls67 ws0">+</div><div class="t m0 x32 hd y62 ff4 fs8 fc0 sc0 ls66 ws0">X<span class="_ _6"></span><span class="ls68">D'</span></div><div class="t m0 x33 h6 y63 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x34 hd y62 ff4 fs8 fc0 sc0 ls69 ws0">uF'</div><div class="t m0 x35 h6 y63 ff4 fs2 fc0 sc0 ls3e ws0">n</div><div class="t m0 x5 hd y64 ff4 fs8 fc0 sc0 ls5b ws0">F'</div><div class="t m0 x6 h6 y65 ff4 fs2 fc0 sc0 ls41 ws0">n-1</div><div class="t m0 x7 h8 y66 ff4 fs4 fc0 sc0 ls6a ws0">(reference)</div><div class="t m1 x36 h7 y67 ff4 fs3 fc0 sc0 ls5f ws0">Intra</div><div class="t m1 x37 h7 y68 ff4 fs3 fc0 sc0 ls6b ws0">prediction</div><div class="t m0 x24 h6 y69 ff4 fs2 fc0 sc0 ls6c ws40">(1 or 2 previously</div><div class="t m0 x24 h6 y6a ff4 fs2 fc0 sc0 ls6d ws41">encoded frames)</div><div class="t m0 x27 h2 y6b ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y6c ff3 fs0 fc0 sc0 ls59 ws3e">Figure <span class="ls1 ws0">2<span class="ls3">-</span>2<span class="ls6e ws42"> AVC Decoder</span> </span></div><div class="t m0 x1 h4 y6d ff3 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y6e ff3 fs0 fc0 sc0 ls1 ws0">2.1 <span class="_ _7"> </span><span class="ls6f ws43">Encoder (forward path)</span> </div><div class="t m0 x1 h2 y6f ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y70 ff2 fs0 fc0 sc0 ls70 ws44">An input frame F</div><div class="t m0 x38 h10 y71 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x39 h2 y70 ff2 fs0 fc0 sc0 ls71 ws45"> is presented for encoding. The frame is processed <span class="ls72 ws46">in units of a macroblock </span></div><div class="t m0 x1 h4 y72 ff2 fs0 fc0 sc0 ls73 ws47">(corresponding to 16x16 pixels in the original image). Each macroblock is encoded in <span class="ff3 ls21 ws0">intra</span><span class="ls2e ws48"> or <span class="ff3 ls74 ws0">inter<span class="ff2 ls1"> </span></span></span></div><div class="t m0 x1 h2 y73 ff2 fs0 fc0 sc0 ls1 ws0">mode. In either case, a prediction macroblock P is formed based on a reconstructed frame. In Intra </div><div class="t m0 x1 h2 y74 ff2 fs0 fc0 sc0 ls75 ws49">mode, P is formed from samples i<span class="ls76 ws4a">n the current frame n that have previously encoded, decoded and </span></div><div class="t m0 x1 h2 y75 ff2 fs0 fc0 sc0 ls77 ws4b">reconstructed (uF’</div><div class="t m0 x3a h10 y76 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 xb h4 y75 ff2 fs0 fc0 sc0 ls78 ws4c"> in the Figures; note that the <span class="ff3 ls79 ws0">unfiltered</span><span class="ls75 ws49"> samples are used to form P). In Inter mode, </span></div><div class="t m0 x1 h2 y77 ff2 fs0 fc0 sc0 ls7a ws4d">P is formed by motion<span class="ls3 ws0">-<span class="ls7b ws4e">compensated prediction from one or more reference frame(s). In th<span class="ls7c ws4f">e Figures, </span></span></span></div><div class="t m0 x1 h2 y78 ff2 fs0 fc0 sc0 ls7d ws50">the reference frame is shown as the previous encoded frame F’</div><div class="t m0 x3b h10 y79 ff2 fsb fc0 sc0 ls1 ws0">n<span class="ls7e">-</span>1</div><div class="t m0 x3c h2 y78 ff2 fs0 fc0 sc0 ls7f ws51"> ; however, the predicton for each </div><div class="t m0 x1 h2 y7a ff2 fs0 fc0 sc0 ls80 ws50">macroblock may be formed from one or two past or future frames (in time order) that have already </div><div class="t m0 x1 h2 y7b ff2 fs0 fc0 sc0 ls3d ws52">been encoded and reconstructed.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 y7c ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y7d ff2 fs0 fc0 sc0 ls81 ws53">The prediction P<span class="ls3d ws52"> is subtracted from the current macroblock to produce a residual or difference </span></div><div class="t m0 x1 h2 y7e ff2 fs0 fc0 sc0 ls82 ws54">macroblock D</div><div class="t m0 x26 h10 y7f ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x3d h2 y7e ff2 fs0 fc0 sc0 ls28 ws27">. This is transformed (using a block transform) and quantized to give X, a set of </div><div class="t m0 x1 h2 y80 ff2 fs0 fc0 sc0 ls83 ws55">quantized transform coefficients. These coefficients are re<span class="ls3 ws0">-<span class="ls84 ws56">ordered and entropy en<span class="ls85 ws57">coded. The entropy<span class="_ _5"></span><span class="ls3 ws0">-</span></span></span></span></div><div class="t m0 x1 h2 y81 ff2 fs0 fc0 sc0 ls86 ws58">encoded coefficients, together with side information required to decode the macroblock (such as the </div><div class="t m0 x1 h2 y82 ff2 fs0 fc0 sc0 ls7c ws4f">macroblock prediction mode, quantizer step size, motion vector information describing how the </div><div class="t m0 x1 h2 y83 ff2 fs0 fc0 sc0 ls87 ws59">macroblock was motion<span class="ls3 ws0">-<span class="ls23 ws22">compensated, etc) for<span class="ls88 ws5a">m the compressed bitstream. This is passed to a </span></span></span></div><div class="t m0 x1 h2 y84 ff2 fs0 fc0 sc0 ls89 ws5b">Network Abstraction Layer (NAL) for transmission or storage.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 y85 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y86 ff3 fs0 fc0 sc0 ls1 ws0">2.2 <span class="_ _7"> </span><span class="ls76 ws4a">Encoder (reconstruction path)</span> </div><div class="t m0 x1 h2 y87 ff2 fs0 fc0 sc0 ls1 ws0"> </div></div><div class="pi" data-data='{"ctm":[1.610738,0.000000,0.000000,1.610738,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/bg3.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">www.vcodex.com<span class="ls1"> <span class="_ _0"> </span> <span class="_ _1"> </span><span class="ls2 ws1">H.264 / MPEG</span><span class="ls3">-<span class="ls4 ws2">4 Part 10 : Overview</span></span><span class="ff2"> </span></span></div><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls5 ws3">© Iain E G Richardson<span class="ls1 ws0"> <span class="_ _2"> </span>07<span class="ls6">/</span>10<span class="ls6">/</span>02 <span class="_ _3"> </span><span class="ls7 ws4">Page </span>3<span class="ls8 ws5"> of </span>3 </span></div><div class="t m0 x1 h2 y88 ff2 fs0 fc0 sc0 ls7f ws51">The quantized macroblock coefficients X are decoded in order to reconstruct a frame for encoding of </div><div class="t m0 x1 h2 y4 ff2 fs0 fc0 sc0 ls8a ws5c">further macrobl<span class="ls42 ws5d">ocks. The coefficients X are re<span class="ls3 ws0">-<span class="ls8b ws5e">scaled (Q</span></span></span></div><div class="t m0 x3e h10 y89 ff2 fsb fc0 sc0 ls7e ws0">-<span class="ls1">1</span></div><div class="t m0 x3f h2 y4 ff2 fs0 fc0 sc0 ls8c ws5f">) and inverse transformed (T</div><div class="t m0 x40 h10 y89 ff2 fsb fc0 sc0 ls7e ws0">-<span class="ls1">1</span></div><div class="t m0 x41 h2 y4 ff2 fs0 fc0 sc0 ls8d ws60">) to produce a </div><div class="t m0 x1 h2 y8a ff2 fs0 fc0 sc0 ls38 ws36">difference macroblock D</div><div class="t m0 x42 h10 y8b ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x9 h2 y8a ff2 fs0 fc0 sc0 ls8e ws61">’. This is not identical to the original difference macroblock D</div><div class="t m0 x41 h10 y8b ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x43 h2 y8a ff2 fs0 fc0 sc0 ls8f ws62"> ; the </div><div class="t m0 x1 h2 y8c ff2 fs0 fc0 sc0 ls90 ws63">quantization process introduces losses and so D</div><div class="t m0 x44 h10 y8d ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x45 h2 y8c ff2 fs0 fc0 sc0 ls83 ws55">’ is a distorted version<span class="ls91 ws64"> of D</span></div><div class="t m0 x46 h10 y8d ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x47 h2 y8c ff2 fs0 fc0 sc0 ls1 ws0">. </div><div class="t m0 x1 h2 y8e ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y8f ff2 fs0 fc0 sc0 ls33 ws31">The prediction macroblock P is added to D</div><div class="t m0 x30 h10 y90 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x2f h2 y8f ff2 fs0 fc0 sc0 ls92 ws65">’ to create a reconstructed macroblock uF’</div><div class="t m0 x48 h10 y90 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x49 h2 y8f ff2 fs0 fc0 sc0 ls93 ws66"> (a distorted </div><div class="t m0 x1 h2 y91 ff2 fs0 fc0 sc0 ls94 ws67">version of the original macroblock). A filter is applied to reduce the effects of blocking distortion and </div><div class="t m0 x1 h2 y92 ff2 fs0 fc0 sc0 ls83 ws55">reconstructed reference frame is created f<span class="ls95 ws68">rom a series of macroblocks F’</span></div><div class="t m0 x4a h10 y93 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x4b h2 y92 ff2 fs0 fc0 sc0 ls1 ws0">. </div><div class="t m0 x1 h2 y94 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y95 ff3 fs0 fc0 sc0 ls1 ws0">2.3 <span class="_ _7"> </span>Decoder </div><div class="t m0 x1 h2 yd ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 ye ff2 fs0 fc0 sc0 ls20 ws1f">The decoder receives a compressed bitstream from the NAL. The data elements are entropy decoded </div><div class="t m0 x1 h2 yf ff2 fs0 fc0 sc0 ls96 ws69">and reordered to produce a set of quantized coefficients X. These are rescaled and inverse transformed </div><div class="t m0 x1 h2 y10 ff2 fs0 fc0 sc0 ls97 ws6a">to give D</div><div class="t m0 x4c h10 y96 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x4d h2 y10 ff2 fs0 fc0 sc0 ls98 ws6b">’ (t<span class="ls99 ws6c">his identical to the D</span></div><div class="t m0 x2a h10 y96 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x35 h2 y10 ff2 fs0 fc0 sc0 ls9a ws6d">’ shown in the Encoder). Using the header information decoded </div><div class="t m0 x1 h2 y11 ff2 fs0 fc0 sc0 ls9b ws6e">from the bitstream, the decoder creates a prediction macroblock P, identical to the original prediction </div><div class="t m0 x1 h2 y12 ff2 fs0 fc0 sc0 ls9c ws6f">P formed in the encoder. P is added to D</div><div class="t m0 x4e h10 y97 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x4f h2 y12 ff2 fs0 fc0 sc0 ls15 ws12">’ to produce uF’</div><div class="t m0 x50 h10 y97 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x51 h2 y12 ff2 fs0 fc0 sc0 ls9d ws70"> which th<span class="ls9e ws71">is is filtered to create the decoded </span></div><div class="t m0 x1 h2 y13 ff2 fs0 fc0 sc0 ls6a ws72">macroblock F’</div><div class="t m0 xc h10 y98 ff2 fsb fc0 sc0 ls1 ws0">n</div><div class="t m0 x52 h2 y13 ff2 fs0 fc0 sc0 ls1 ws0">. </div><div class="t m0 x1 h2 y14 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y15 ff2 fs0 fc0 sc0 ls9f ws73">It should be clear from the Figures and from the discussion above that the purpose of the </div><div class="t m0 x1 h2 y16 ff2 fs0 fc0 sc0 lsa0 ws74">reconstruction path in the encoder is to ensure that both encoder and decoder use identical reference </div><div class="t m0 x1 h2 y17 ff2 fs0 fc0 sc0 ls2c ws2b">frames to <span class="lsa1 ws75">create the prediction P. If this is not the case, then the predictions P in encoder and decoder </span></div><div class="t m0 x1 h2 y18 ff2 fs0 fc0 sc0 ls4 ws2">will not be identical, leading to an increasing error or “drift” between the encoder and decoder.<span class="ls1 ws0"> </span></div><div class="t m0 x1 h2 y19 ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h4 y99 ff3 fs0 fc0 sc0 ls1 ws0">3. <span class="_ _4"> </span><span class="lsa2">References</span> </div><div class="t m0 x1 h2 y9a ff2 fs0 fc0 sc0 ls1 ws0"> </div><div class="t m0 x1 h2 y9b ff2 fs0 fc0 sc0 ls1 ws0"> <span class="_ _8"></span> </div><div class="t m0 x1 h11 y9c ff2 fsc fc0 sc0 lsa3 ws0">1<span class="lsa4 ws76"> ITU</span><span class="lsa5">-<span class="lsa6 ws77">T Rec. H.264 / ISO/IEC 11496</span>-<span class="_ _5"></span><span class="lsa7 ws78">10, “Advanced Video Coding”, Final Committee Draft, Document JVT<span class="lsa5 ws0">-<span class="ls1 ws79"> </span></span></span></span></div><div class="t m0 x1 h11 y9d ff2 fsc fc0 sc0 lsa8 ws7a">E022, September 2002<span class="ls1 ws79"> </span></div></div><div class="pi" data-data='{"ctm":[1.610738,0.000000,0.000000,1.610738,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w2 h0" data-page-no="4"><div class="pc pc4 w2 h0"><img class="bi x0 y0 w3 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/bg4.jpg"><div class="t m0 x53 h12 y9e ff6 fsd fc0 sc0 lsa9 ws0">www.vcodex.com<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _0"> </span> <span class="_ _a"> </span><span class="lsaa ws7c">H.264 / MPEG<span class="_ _b"></span><span class="lsab ws0">-<span class="lsac ws7d">4 Part 10 : Intra Prediction<span class="_ _b"></span></span></span></span><span class="ff7"> </span></span></div><div class="t m0 x53 h13 y9f ff6 fsd fc0 sc0 lsad ws7e">© Iain E G Richardson<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _2"> </span><span class="lsae ws0">30/04/03</span> <span class="_ _3"> </span><span class="lsaf ws7f">Page <span class="_ _9"></span><span class="lsb0 ws0">1<span class="lsb1 ws80"> of <span class="_ _c"></span><span class="lsb0 ws0">6<span class="ls1 ws7b"> </span></span></span></span></span></span></div><div class="t m0 x53 h14 ya0 ff8 fsd fc0 sc0 lsb2 ws81">H.264 / MPEG<span class="_ _9"></span><span class="lsab ws0">-<span class="lsb3 ws82">4 Part 10 White Paper<span class="_ _c"></span><span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 ya1 ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h13 ya2 ff6 fsd fc0 sc0 lsb4 ws83">Revised <span class="_ _b"></span><span class="lsb5 ws0">April<span class="lsb6 ws84"> 0<span class="_ _b"></span></span><span class="lsb0">3<span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 ya3 ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h14 ya4 ff8 fsd fc0 sc0 lsb7 ws85">Prediction of Intra Macroblocks<span class="_ _d"></span><span class="ff7 ls1 ws7b"> </span></div><div class="t m0 x53 h15 ya5 ff8 fsd fc0 sc0 lsb8 ws0">1.<span class="_ _9"></span><span class="ff9 ls1 ws86"> <span class="_ _4"> </span><span class="ff8 lsb9 ws87">Introduction <span class="_ _b"></span><span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 ya6 ff7 fsd fc0 sc0 lsba ws88">The Joint Video Team (JVT) of ISO/IEC MPEG and ITU<span class="lsab ws0">-<span class="lsbb ws89">T VCEG are finalising a new standard for </span></span></div><div class="t m0 x53 h12 ya7 ff7 fsd fc0 sc0 lsba ws88">the coding (compression) of natural video images. The new standa<span class="_ _b"></span><span class="lsbc ws8a">rd [<span class="_ _9"></span><span class="lsb0 ws0">1<span class="_ _9"></span><span class="lsbd">,<span class="lsb0">2<span class="_ _9"></span><span class="lsbe ws8b">] will be known as H.264 and </span></span></span></span></span></div><div class="t m0 x53 h12 ya8 ff7 fsd fc0 sc0 lsbf ws8c">also MPEG<span class="_ _9"></span><span class="lsab ws0">-<span class="lsc0 ws8d">4 Part 10, “Advanced Video Coding”. This document describes the methods of predicting </span></span></div><div class="t m0 x53 h12 ya9 ff7 fsd fc0 sc0 lsc1 ws0">intra<span class="lsab">-<span class="lsc2 ws8e">coded macroblocks in an H.264 CODEC.<span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 yaa ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h12 yab ff7 fsd fc0 sc0 lsc3 ws8f">If a block or macroblock is encoded in intra mode, a prediction block is formed <span class="_ _b"></span><span class="lsc4 ws90">based on previously </span></div><div class="t m0 x53 h14 yac ff7 fsd fc0 sc0 lsc5 ws91">encoded and reconstructed<span class="_ _9"></span><span class="lsc6 ws92"> (but <span class="ff8 lsc7 ws0">un<span class="lsab">-<span class="lsc8">filtered<span class="_ _c"></span><span class="ff7 lsab">)<span class="lsc9 ws93"> blocks. This prediction block P is subtracted from the </span></span></span></span></span></span></div><div class="t m0 x53 h12 yad ff7 fsd fc0 sc0 lsca ws94">current block prior to encoding. For the luminance (luma) samples, P may be formed for each 4x4 sub<span class="lsab ws0">-</span></div><div class="t m0 x53 h12 yae ff7 fsd fc0 sc0 lscb ws95">block or for a 16x16 macroblock. Ther<span class="lscc ws96">e are a total of 9 optional prediction modes for each 4x4 luma </span></div><div class="t m0 x53 h12 yaf ff7 fsd fc0 sc0 lscd ws97">block; 4 optional modes for a 16x16 luma block; and one mode that is always applied to each 4x4 </div><div class="t m0 x53 h12 yb0 ff7 fsd fc0 sc0 lsce ws98">chroma block.<span class="_ _b"></span><span class="ls1 ws7b"> </span></div><div class="t m0 x53 h15 yb1 ff8 fsd fc0 sc0 lsb8 ws0">2.<span class="_ _9"></span><span class="ff9 ls1 ws86"> <span class="_ _4"> </span><span class="ff8 lscf ws99">4x4 luma prediction modes<span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 yb2 ff7 fsd fc0 sc0 lsd0 ws9a">Figure <span class="lsb0 ws0">1<span class="_ _9"></span><span class="lsd1 ws9b"> shows a luminance macrobloc<span class="_ _b"></span><span class="lsb6 ws84">k <span class="_ _b"></span><span class="lsd2 ws0">in<span class="lsd3 ws9c"> a QCIF frame and a 4x4 luma block that is required to be </span></span></span></span></span></div><div class="t m0 x53 h12 yb3 ff7 fsd fc0 sc0 lsd4 ws9d">predicted. The samples above and to the left have previously been encoded and reconstructed<span class="_ _9"></span><span class="lsd5 ws9e"> and<span class="lsd6 ws9f"> are </span></span></div><div class="t m0 x53 h12 yb4 ff7 fsd fc0 sc0 lsd7 wsa0">therefore available in the encoder and decoder to form a prediction reference. The prediction <span class="_ _b"></span><span class="lsd8 wsa1">block P </span></div><div class="t m0 x53 h12 yb5 ff7 fsd fc0 sc0 lsd9 wsa2">is calculated based on the samples labelled A<span class="lsab ws0">-<span class="lsd2">M<span class="lsda wsa3"> in <span class="_ _b"></span><span class="lsdb wsa4">Figure </span></span><span class="lsb0">2<span class="_ _9"></span><span class="lsdc wsa5">, as follows. Note that in some cases, not </span></span></span></span></div><div class="t m0 x53 h12 yb6 ff7 fsd fc0 sc0 lsdd wsa6">all of the samples A<span class="lsab ws0">-<span class="lsd2">M<span class="lsde wsa7"> are available within the current slice: in order to preserve independent </span></span></span></div><div class="t m0 x53 h12 yb7 ff7 fsd fc0 sc0 lsdf wsa8">decoding of slices, only samp<span class="_ _b"></span><span class="lse0 wsa9">les within the current slice are available for prediction. DC prediction </span></div><div class="t m0 x53 h12 yb8 ff7 fsd fc0 sc0 lse1 wsaa">(mode 0) is modified depending on which samples A<span class="lsab ws0">-<span class="lsd2">M<span class="lse2 wsab"> are available; the other modes (1<span class="_ _9"></span><span class="lsab ws0">-<span class="lse3 wsac">8) may only </span></span></span></span></span></div><div class="t m0 x53 h12 yb9 ff7 fsd fc0 sc0 lse4 wsad">be used if all of the required prediction samples are available<span class="_ _d"></span><span class="lse5 wsae"> (except that, if E, F<span class="_ _9"></span><span class="lse6 wsaf">, G and H are not </span></span></div><div class="t m0 x53 h12 yba ff7 fsd fc0 sc0 lse7 wsb0">available, their value is copied from sample D)<span class="lsbd ws0">.<span class="ls1 ws7b"> </span></span></div><div class="t m0 x53 h12 ybb ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h12 ybc ff7 fsd fc0 sc0 lse8 wsb1">The arrows in <span class="_ _b"></span><span class="lsd0 ws9a">Figure <span class="lsb0 ws0">3<span class="_ _9"></span><span class="lse9 wsb2"> indicate the direction of prediction in each mode. For modes 3<span class="_ _9"></span><span class="lsab ws0">-<span class="lsea wsb3">8, the predicted </span></span></span></span></span></div><div class="t m0 x53 h12 ybd ff7 fsd fc0 sc0 lseb wsb4">samples are formed from a <span class="lsec wsb5">weighted average<span class="_ _b"></span><span class="lsed wsb6"> of the prediction sam<span class="_ _9"></span><span class="lsee wsb7">ples A<span class="lsab ws0">-<span class="lsef wsb8">Q. The encoder may select </span></span></span></span></span></div><div class="t m0 x53 h12 ybe ff7 fsd fc0 sc0 lsed wsb6">the prediction mode for each block that minimizes the residual between P and the block to be encoded.<span class="_ _b"></span><span class="ls1 ws7b"> </span></div><div class="t m0 x53 h12 ybf ff7 fsd fc0 sc0 ls1 ws7b"> </div></div><div class="pi" data-data='{"ctm":[1.610738,0.000000,0.000000,1.610738,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w2 h0" data-page-no="5"><div class="pc pc5 w2 h0"><img class="bi x0 y0 w3 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/625bcfd9be9ad24cfa337945/bg5.jpg"><div class="t m0 x53 h12 y9e ff6 fsd fc0 sc0 lsa9 ws0">www.vcodex.com<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _0"> </span> <span class="_ _a"> </span><span class="lsaa ws7c">H.264 / MPEG<span class="_ _b"></span><span class="lsab ws0">-<span class="lsac ws7d">4 Part 10 : Intra Prediction<span class="_ _b"></span></span></span></span><span class="ff7"> </span></span></div><div class="t m0 x53 h13 y9f ff6 fsd fc0 sc0 lsad ws7e">© Iain E G Richardson<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _2"> </span><span class="lsae ws0">30/04/03</span> <span class="_ _3"> </span><span class="lsaf ws7f">Page <span class="_ _9"></span><span class="lsb0 ws0">2<span class="lsb1 ws80"> of <span class="_ _c"></span><span class="lsb0 ws0">6<span class="ls1 ws7b"> </span></span></span></span></span></span></div><div class="t m0 x54 h16 yc0 ffa fse fc0 sc0 lsf0 wsb9">Original macroblock<span class="_ _e"> </span><span class="lsf1 wsac">4x4 luma block to be predicted</span></div><div class="t m0 x55 h12 ybb ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h14 yc1 ff8 fsd fc0 sc0 lsf2 wsba">Figure <span class="lsb0 ws0">1<span class="_ _9"></span><span class="lsf3 wsbb"> Original macroblock<span class="_ _b"></span><span class="lsf4 wsbc"> and<span class="lsf5 wsbd"> 4x4 luma block to be predicted<span class="_ _c"></span><span class="ls1 ws7b"> </span></span></span></span></span></div><div class="t m0 x53 h12 yc2 ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h14 yc3 ff8 fsd fc0 sc0 lsf6 ws0">M<span class="_ _b"></span><span class="ls1 ws7b"> <span class="_ _f"> </span></span><span class="lsf7">A<span class="ls1 ws7b"> <span class="_ _f"> </span></span><span class="lsf8">B<span class="_ _b"></span><span class="ls1 ws7b"> <span class="_ _f"> </span></span></span>C<span class="ls1 ws7b"> <span class="_ _f"> </span></span>D<span class="ls1 ws7b"> <span class="_ _f"> </span></span><span class="lsf8">E<span class="ls1 ws7b"> <span class="_ _f"> </span></span><span class="lsf9">F<span class="ls1 ws7b"> <span class="_ _f"> </span></span><span class="lsfa">G<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _10"> </span><span class="lsfa ws0">H</span> </span></span></span></span></span></div><div class="t m0 x53 h14 yc4 ff8 fsd fc0 sc0 lsb1 ws0">I<span class="ls1 ws7b"> </span></div><div class="t m0 x56 h12 yc5 ff7 fsd fc0 sc0 lsfb ws0">a<span class="ls1 ws7b"> <span class="_ _11"> </span></span><span class="lsb0">b<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span><span class="lsfb ws0">c</span> <span class="_ _11"> </span><span class="lsb0 ws0">d<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span> <span class="_ _12"> </span> <span class="_ _13"> </span> <span class="_ _14"> </span> </span></span></span></span></div><div class="t m0 x53 h14 yc6 ff8 fsd fc0 sc0 lsb0 ws0">J<span class="ls1 ws7b"> </span></div><div class="t m0 x56 h12 yc7 ff7 fsd fc0 sc0 lsfb ws0">e<span class="ls1 ws7b"> <span class="_ _11"> </span></span><span class="lsab">f<span class="ls1 ws7b"> <span class="_ _15"> </span></span><span class="lsb0">g<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span><span class="lsb0 ws0">h<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span> <span class="_ _12"> </span> <span class="_ _13"> </span> <span class="_ _14"> </span> </span></span></span></span></span></div><div class="t m0 x53 h14 yc8 ff8 fsd fc0 sc0 lsfa ws0">K<span class="ls1 ws7b"> </span></div><div class="t m0 x56 h12 yc9 ff7 fsd fc0 sc0 lsfc ws0">i<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _16"> </span><span class="lsfc ws0">j<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _16"> </span><span class="lsb0 ws0">k<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span><span class="lsfc ws0">l<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _16"> </span> <span class="_ _12"> </span> <span class="_ _13"> </span> <span class="_ _14"> </span> </span></span></span></span></span></span></span></div><div class="t m0 x53 h14 yca ff8 fsd fc0 sc0 lsf8 ws0">L<span class="ls1 ws7b"> </span></div><div class="t m0 x56 h12 ycb ff7 fsd fc0 sc0 lsfa ws0">m<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _f"> </span><span class="lsb0 ws0">n<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span><span class="lsb0 ws0">o<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span><span class="lsb0 ws0">p<span class="_ _9"></span><span class="ls1 ws7b"> <span class="_ _11"> </span> <span class="_ _12"> </span> <span class="_ _13"> </span> <span class="_ _14"> </span> </span></span></span></span></span></span></span></div><div class="t m0 x53 h14 ycc ff8 fsd fc0 sc0 lsf2 wsba">Figure <span class="lsb0 ws0">2<span class="_ _9"></span><span class="lsfd wsbe"> Labelling of prediction samples (4x4)<span class="ls1 ws7b"> </span></span></span></div><div class="t m0 x53 h12 ycd ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m2 x2f h17 yce ffa fsf fc0 sc0 lsfe ws0">Mean</div><div class="t m2 x2f h17 ycf ffa fsf fc0 sc0 lsff ws0">(A..D,</div><div class="t m2 x19 h17 yd0 ffa fsf fc0 sc0 ls100 ws0">I..L)</div><div class="t m2 x57 h17 yd1 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _17"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _19"> </span>D<span class="_ _18"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x1d h17 yd2 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x57 h17 yd3 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x57 h17 yd4 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x57 h17 yd5 ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x24 h17 yd1 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _17"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _19"> </span><span class="ls103">C<span class="_ _18"> </span>D<span class="_ _18"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _1a"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x24 h17 yd2 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x24 h17 yd3 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x24 h17 yd4 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x24 h17 yd5 ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x58 h17 yd1 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _17"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _19"> </span>D<span class="_ _18"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_ _18"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x59 h17 yd2 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x58 h17 yd3 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x58 h17 yd4 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x58 h17 yd5 ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x5a h17 yd1 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _18"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _18"> </span>D<span class="_ _19"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x5b h17 yd2 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x5a h17 yd3 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x5a h17 yd4 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x5a h17 yd5 ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x13 h17 yd1 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _18"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _18"> </span>D<span class="_ _19"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x5c h17 yd2 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x5d h17 yd3 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x13 h17 yd4 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x13 h17 yd5 ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x58 h17 yd6 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _17"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _19"> </span>D<span class="_ _18"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_ _18"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x59 h17 yd7 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x58 h17 yd8 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x58 h17 yd9 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x58 h17 yda ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x13 h17 yd6 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _18"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _18"> </span>D<span class="_ _19"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x5c h17 yd7 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x5d h17 yd8 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x13 h17 yd9 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x13 h17 yda ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x5a h17 yd6 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _18"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _18"> </span>D<span class="_ _19"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x5b h17 yd7 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x5a h17 yd8 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x5a h17 yd9 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x5a h17 yda ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x57 h17 yd6 ffa fsf fc0 sc0 ls101 ws0">M<span class="_ _17"> </span><span class="ls102">A<span class="_ _18"> </span>B<span class="_ _18"> </span><span class="ls103">C<span class="_ _19"> </span>D<span class="_ _18"> </span></span>E<span class="_ _18"> </span><span class="ls104">F<span class="_ _19"> </span><span class="ls105">G<span class="_"> </span><span class="ls103">H</span></span></span></span></div><div class="t m2 x1d h17 yd7 ffa fsf fc0 sc0 ls106 ws0">I</div><div class="t m2 x57 h17 yd8 ffa fsf fc0 sc0 ls107 ws0">J</div><div class="t m2 x57 h17 yd9 ffa fsf fc0 sc0 ls102 ws0">K</div><div class="t m2 x57 h17 yda ffa fsf fc0 sc0 ls108 ws0">L</div><div class="t m2 x2f h17 ydb ffa fsf fc0 sc0 ls109 wsbf">2 (DC)<span class="_ _1b"></span><span class="ls10a wsc0">0 (vertical)<span class="_ _1c"> </span><span class="ls10b wsc1">1 (horizontal)<span class="_ _1d"> </span><span class="ls3d wsc2">4 (diagonal down-right)<span class="_ _1e"></span><span class="ls10c wsc3">3 (diagonal down-left)</span></span></span></span></div><div class="t m2 x5e h17 ydc ffa fsf fc0 sc0 ls10d wsc4">5 (vertical-right)<span class="_ _1f"> </span><span class="ls10e wsc5">7 (vertical-left)<span class="_ _20"> </span><span class="ls10f wsc6">8 (horizontal-up)<span class="_ _21"></span><span class="lsa1 wsc7">6 (horizontal-down)</span></span></span></div><div class="t m0 x5f h12 ydd ff7 fsd fc0 sc0 ls1 ws7b"> </div><div class="t m0 x53 h14 yde ff8 fsd fc0 sc0 lsf2 wsba">Figure <span class="lsb0 ws0">3<span class="_ _9"></span><span class="ls110 wsc8"> 4x4 luma prediction modes<span class="ls1 ws7b"> </span></span></span></div></div><div class="pi" data-data='{"ctm":[1.610738,0.000000,0.000000,1.610738,0.000000,0.000000]}'></div></div>