dir_dering.lyx 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838
  1. #LyX 2.1 created this file. For more info see http://www.lyx.org/
  2. \lyxformat 474
  3. \begin_document
  4. \begin_header
  5. \textclass article
  6. \begin_preamble
  7. \usepackage{color}
  8. \usepackage{url}
  9. \usepackage[pdfpagemode=None,pdfstartview=FitH,pdfview=FitH,colorlinks=true,pdftitle=Directional Deringing Filter,pdfauthor=Jean-Marc Valin]{hyperref}
  10. \end_preamble
  11. \use_default_options true
  12. \maintain_unincluded_children false
  13. \language english
  14. \language_package default
  15. \inputencoding auto
  16. \fontencoding global
  17. \font_roman default
  18. \font_sans default
  19. \font_typewriter default
  20. \font_math auto
  21. \font_default_family default
  22. \use_non_tex_fonts false
  23. \font_sc false
  24. \font_osf false
  25. \font_sf_scale 100
  26. \font_tt_scale 100
  27. \graphics default
  28. \default_output_format default
  29. \output_sync 0
  30. \bibtex_command default
  31. \index_command default
  32. \paperfontsize default
  33. \spacing single
  34. \use_hyperref false
  35. \papersize default
  36. \use_geometry true
  37. \use_package amsmath 1
  38. \use_package amssymb 1
  39. \use_package cancel 1
  40. \use_package esint 1
  41. \use_package mathdots 1
  42. \use_package mathtools 1
  43. \use_package mhchem 1
  44. \use_package stackrel 1
  45. \use_package stmaryrd 1
  46. \use_package undertilde 1
  47. \cite_engine basic
  48. \cite_engine_type default
  49. \biblio_style plain
  50. \use_bibtopic false
  51. \use_indices false
  52. \paperorientation portrait
  53. \suppress_date false
  54. \justification true
  55. \use_refstyle 1
  56. \index Index
  57. \shortcut idx
  58. \color #008000
  59. \end_index
  60. \leftmargin 2cm
  61. \topmargin 2cm
  62. \rightmargin 2cm
  63. \bottommargin 2cm
  64. \secnumdepth 3
  65. \tocdepth 3
  66. \paragraph_separation indent
  67. \paragraph_indentation default
  68. \quotes_language english
  69. \papercolumns 1
  70. \papersides 1
  71. \paperpagestyle default
  72. \tracking_changes false
  73. \output_changes false
  74. \html_math_output 0
  75. \html_css_as_file 0
  76. \html_be_strict false
  77. \end_header
  78. \begin_body
  79. \begin_layout Title
  80. Directional Deringing Filter
  81. \end_layout
  82. \begin_layout Author
  83. Jean-Marc Valin
  84. \end_layout
  85. \begin_layout Section
  86. Introduction
  87. \end_layout
  88. \begin_layout Standard
  89. This document describes a deringing filter that takes into account the direction
  90. of edges and patterns being filtered.
  91. The filter works by identifying the direction of each block and then adaptively
  92. filtering along the identified direction.
  93. In a second pass, the blocks are also filtered in a different direction,
  94. with more conservative thresholds to avoid blurring edges.
  95. \end_layout
  96. \begin_layout Section
  97. Direction Search
  98. \end_layout
  99. \begin_layout Standard
  100. The first step is to divide the image into blocks of fixed or variable size.
  101. Variable-size blocks make it possible to use large blocks on long, continuous
  102. edges and small blocks where edges intersect or change direction.
  103. A fixed block size is easier to implement and does not require signaling
  104. the sizes on a block-by-block basis.
  105. For this work, we consider a fixed block size of 8x8.
  106. \end_layout
  107. \begin_layout Standard
  108. Once the image is divided into blocks, we determine which direction best
  109. matches the pattern in each block.
  110. One way to determine the direction is to minimize mean squared difference
  111. (MSD) between the input block and a perfectly directional block.
  112. A perfectly directional block is a block for which each line along a certain
  113. direction has a constant value.
  114. For each direction, we assign a line number to each pixel, as shown in
  115. Fig.
  116. \begin_inset space ~
  117. \end_inset
  118. \begin_inset CommandInset ref
  119. LatexCommand ref
  120. reference "fig:Lines-for-direction"
  121. \end_inset
  122. .
  123. \end_layout
  124. \begin_layout Standard
  125. \begin_inset Float figure
  126. wide false
  127. sideways false
  128. status open
  129. \begin_layout Plain Layout
  130. \begin_inset ERT
  131. status open
  132. \begin_layout Plain Layout
  133. \backslash
  134. centering{
  135. \end_layout
  136. \end_inset
  137. \begin_inset Graphics
  138. filename dlines.eps
  139. scale 70
  140. \end_inset
  141. \begin_inset ERT
  142. status open
  143. \begin_layout Plain Layout
  144. }
  145. \end_layout
  146. \end_inset
  147. \begin_inset Caption Standard
  148. \begin_layout Plain Layout
  149. Line numbers for pixels following one direction in an 8x8 block.
  150. \begin_inset CommandInset label
  151. LatexCommand label
  152. name "fig:Lines-for-direction"
  153. \end_inset
  154. \end_layout
  155. \end_inset
  156. \end_layout
  157. \end_inset
  158. For each direction
  159. \begin_inset Formula $d$
  160. \end_inset
  161. , the MSD is defined as:
  162. \begin_inset Formula
  163. \begin{equation}
  164. \sigma_{d}^{2}=\frac{1}{N}\sum_{k\in\mathrm{block},d}\left[\sum_{p\in P_{d,k}}\left(x_{p}-\mu_{d,k}\right)^{2}\right]\ ,\label{eq:direction-variance0}
  165. \end{equation}
  166. \end_inset
  167. where
  168. \begin_inset Formula $x_{p}$
  169. \end_inset
  170. is the value of pixel
  171. \begin_inset Formula $p$
  172. \end_inset
  173. ,
  174. \begin_inset Formula $P_{d,k}$
  175. \end_inset
  176. is the set of pixels in line
  177. \begin_inset Formula $k$
  178. \end_inset
  179. following direction
  180. \begin_inset Formula $d$
  181. \end_inset
  182. ,
  183. \begin_inset Formula $N$
  184. \end_inset
  185. is the total number of pixels in the block, and
  186. \begin_inset Formula $\mu_{k}$
  187. \end_inset
  188. is the pixel average for line
  189. \begin_inset Formula $k$
  190. \end_inset
  191. :
  192. \begin_inset Formula
  193. \begin{equation}
  194. \mu_{d,k}=\frac{1}{N_{d,k}}\sum_{p\in P_{d,k}}x_{p}\ ,\label{eq:pixel-average}
  195. \end{equation}
  196. \end_inset
  197. where
  198. \begin_inset Formula $N_{d,k}$
  199. \end_inset
  200. is the cardinality of
  201. \begin_inset Formula $P_{d,k}$
  202. \end_inset
  203. .
  204. Substituting
  205. \begin_inset CommandInset ref
  206. LatexCommand eqref
  207. reference "eq:pixel-average"
  208. \end_inset
  209. into
  210. \begin_inset CommandInset ref
  211. LatexCommand eqref
  212. reference "eq:direction-variance0"
  213. \end_inset
  214. and simplifying, we get
  215. \begin_inset Formula
  216. \begin{equation}
  217. \sigma_{d}^{2}=\frac{1}{N}\left[\sum_{p\in\mathrm{block}}x_{p}^{2}-\sum_{k\in\mathrm{block},d}\frac{1}{N_{d,k}}\left(\sum_{p\in P_{d,k}}x_{p}\right)^{2}\right]\,,\label{eq:direction-variance1}
  218. \end{equation}
  219. \end_inset
  220. Considering that the first term of Eq.
  221. \begin_inset space ~
  222. \end_inset
  223. \begin_inset CommandInset ref
  224. LatexCommand eqref
  225. reference "eq:direction-variance1"
  226. \end_inset
  227. is constant with respect to
  228. \begin_inset Formula $d$
  229. \end_inset
  230. , we simply find the optimal direction
  231. \begin_inset Formula $d_{opt}$
  232. \end_inset
  233. as:
  234. \begin_inset Formula
  235. \begin{equation}
  236. d_{opt}=\max_{d}s_{d}\,,\label{eq:direction-variance2}
  237. \end{equation}
  238. \end_inset
  239. where
  240. \begin_inset Formula
  241. \begin{equation}
  242. s_{d}=\sum_{k\in\mathrm{block},d}\frac{1}{N_{d,k}}\left(\sum_{p\in P_{d,k}}x_{p}\right)^{2}\ .\label{eq:direction-variance3}
  243. \end{equation}
  244. \end_inset
  245. \end_layout
  246. \begin_layout Section
  247. Conditional Replacement Filter
  248. \end_layout
  249. \begin_layout Standard
  250. Just like the median filter and the bilateral filter, the conditional replacemen
  251. t filter is designed to remove noise without sharp blurring edges.
  252. However, it is simpler to compute and is easier to vectorize than the median
  253. filter of the bilateral filter.
  254. A regular linear filter with
  255. \begin_inset Formula $\left(2M+1\right)$
  256. \end_inset
  257. taps is defined as
  258. \begin_inset Formula
  259. \begin{equation}
  260. y\left(n\right)=\frac{1}{W}\sum_{k=-M}^{k=M}w_{k}x\left(n+k\right)\ ,\label{eq:linear-filter}
  261. \end{equation}
  262. \end_inset
  263. where
  264. \begin_inset Formula $W=\sum_{k=-M}^{M}w_{k}$
  265. \end_inset
  266. .
  267. \end_layout
  268. \begin_layout Standard
  269. The main difference between a regular filter and the conditional replacement
  270. filter is that for each tap, if
  271. \begin_inset Formula $x\left(n+k\right)$
  272. \end_inset
  273. differs from
  274. \begin_inset Formula $x\left(n\right)$
  275. \end_inset
  276. by more than a threshold
  277. \begin_inset Formula $T$
  278. \end_inset
  279. , then we use
  280. \begin_inset Formula $x\left(n\right)$
  281. \end_inset
  282. instead for the tap.
  283. The filter computation is illustrated in Fig.
  284. \begin_inset space ~
  285. \end_inset
  286. \begin_inset CommandInset ref
  287. LatexCommand ref
  288. reference "fig:Conditional-filter-computation"
  289. \end_inset
  290. and an example is shown in Fig.
  291. \begin_inset space ~
  292. \end_inset
  293. \begin_inset CommandInset ref
  294. LatexCommand ref
  295. reference "fig:Conditional-filter-example"
  296. \end_inset
  297. .
  298. \end_layout
  299. \begin_layout Standard
  300. \begin_inset Float figure
  301. wide false
  302. sideways false
  303. status open
  304. \begin_layout Plain Layout
  305. \begin_inset ERT
  306. status open
  307. \begin_layout Plain Layout
  308. \backslash
  309. centering{
  310. \end_layout
  311. \end_inset
  312. \begin_inset Graphics
  313. filename crf_def.eps
  314. width 60col%
  315. \end_inset
  316. \begin_inset ERT
  317. status open
  318. \begin_layout Plain Layout
  319. }
  320. \end_layout
  321. \end_inset
  322. \end_layout
  323. \begin_layout Plain Layout
  324. \begin_inset Caption Standard
  325. \begin_layout Plain Layout
  326. Conditional replacement filter computation
  327. \begin_inset CommandInset label
  328. LatexCommand label
  329. name "fig:Conditional-filter-computation"
  330. \end_inset
  331. \end_layout
  332. \end_inset
  333. \end_layout
  334. \begin_layout Plain Layout
  335. \end_layout
  336. \end_inset
  337. \end_layout
  338. \begin_layout Standard
  339. \begin_inset Float figure
  340. wide false
  341. sideways false
  342. status open
  343. \begin_layout Plain Layout
  344. \begin_inset ERT
  345. status open
  346. \begin_layout Plain Layout
  347. \backslash
  348. centering{
  349. \end_layout
  350. \end_inset
  351. \begin_inset Graphics
  352. filename crf_orig.eps
  353. lyxscale 60
  354. width 40col%
  355. \end_inset
  356. \begin_inset Graphics
  357. filename crf_noisy.eps
  358. lyxscale 60
  359. width 40col%
  360. \end_inset
  361. \end_layout
  362. \begin_layout Plain Layout
  363. \begin_inset Graphics
  364. filename crf_linear.eps
  365. lyxscale 60
  366. width 40col%
  367. \end_inset
  368. \begin_inset Graphics
  369. filename crf_out.eps
  370. lyxscale 60
  371. width 40col%
  372. \end_inset
  373. \lang english
  374. \begin_inset ERT
  375. status open
  376. \begin_layout Plain Layout
  377. }
  378. \end_layout
  379. \end_inset
  380. \end_layout
  381. \begin_layout Plain Layout
  382. \begin_inset Caption Standard
  383. \begin_layout Plain Layout
  384. Conditional replacement filter example.
  385. Up-left: original signal, up-right: noisy signal, bottom-left: filtered
  386. with 7-tap linear filter, bottom-right: filtered with 7-tap conditional
  387. replacement filter.
  388. \begin_inset CommandInset label
  389. LatexCommand label
  390. name "fig:Conditional-filter-example"
  391. \end_inset
  392. \end_layout
  393. \end_inset
  394. \end_layout
  395. \end_inset
  396. \end_layout
  397. \begin_layout Standard
  398. Through alegbraic simplifications, the filter definition can be written
  399. in terms of the differences
  400. \begin_inset Formula $x\left(n+k\right)-x\left(n\right)$
  401. \end_inset
  402. , which yields
  403. \begin_inset Formula
  404. \begin{equation}
  405. y\left(n\right)=x\left(n\right)+\frac{1}{W}\sum_{k=-M,k\neq0}^{k=M}w_{k}f\left(x\left(n+k\right)-x\left(n\right),T\right)\ ,\label{eq:conditional-replacement-diff}
  406. \end{equation}
  407. \end_inset
  408. with the threshold function
  409. \begin_inset Formula
  410. \begin{equation}
  411. f\left(d,T\right)=\left\{ \begin{array}{ll}
  412. d & ,\left|d\right|<T\\
  413. 0 & ,\mathrm{otherwise}
  414. \end{array}\right.\ .\label{eq:threshold-function}
  415. \end{equation}
  416. \end_inset
  417. The advantage of this formulation is that the normalization by
  418. \begin_inset Formula $\frac{1}{W}$
  419. \end_inset
  420. can be approximated without causing any bias, even when
  421. \begin_inset Formula $W$
  422. \end_inset
  423. is not a power of two.
  424. \end_layout
  425. \begin_layout Subsection
  426. Directional Filtering
  427. \end_layout
  428. \begin_layout Standard
  429. The directional filter for pixel
  430. \begin_inset Formula $\left(i,j\right)$
  431. \end_inset
  432. is defined as the 7-tap conditional replacement filter
  433. \begin_inset Formula
  434. \begin{gather}
  435. y\left(i,j\right)=x\left(i,j\right)+\frac{1}{W}\sum_{k=1}^{3}w_{k}\left[f\left(x\left(i,j\right)-x\left(i+\left\lfloor kd_{y}\right\rfloor ,j+\left\lfloor kd_{x}\right\rfloor \right),T_{d}\right)\right.\nonumber \\
  436. \left.+f\left(x\left(i,j\right)-x\left(i-\left\lfloor kd_{y}\right\rfloor ,j-\left\lfloor kd_{x}\right\rfloor \right),T_{d}\right)\right]\label{eq:directional_filter}
  437. \end{gather}
  438. \end_inset
  439. where
  440. \begin_inset Formula $d_{x}$
  441. \end_inset
  442. and
  443. \begin_inset Formula $d_{y}$
  444. \end_inset
  445. define the direction,
  446. \begin_inset Formula $W$
  447. \end_inset
  448. is a constant normalizing factor,
  449. \begin_inset Formula $T_{d}$
  450. \end_inset
  451. is the filtering threshold for the block.
  452. The direction parameters are shown in Table
  453. \begin_inset space ~
  454. \end_inset
  455. \begin_inset CommandInset ref
  456. LatexCommand ref
  457. reference "tab:Direction-parameters"
  458. \end_inset
  459. .
  460. The weights
  461. \begin_inset Formula $w_{k}$
  462. \end_inset
  463. can be chosen so that
  464. \begin_inset Formula $W$
  465. \end_inset
  466. is a power of two.
  467. For example, Daala currently uses
  468. \begin_inset Formula $\mathbf{w}=\left[\begin{array}{ccc}
  469. 3 & 2 & 2\end{array}\right]$
  470. \end_inset
  471. with
  472. \begin_inset Formula $W=16$
  473. \end_inset
  474. .
  475. Since the direction is constant over 8x8 blocks, all operations in this
  476. filter are directly vectorizable over the blocks.
  477. \end_layout
  478. \begin_layout Standard
  479. \begin_inset Float table
  480. wide false
  481. sideways false
  482. status open
  483. \begin_layout Plain Layout
  484. \begin_inset ERT
  485. status open
  486. \begin_layout Plain Layout
  487. \backslash
  488. centering{
  489. \end_layout
  490. \end_inset
  491. \begin_inset Tabular
  492. <lyxtabular version="3" rows="9" columns="3">
  493. <features rotate="0" tabularvalignment="middle">
  494. <column alignment="center" valignment="top">
  495. <column alignment="center" valignment="top">
  496. <column alignment="center" valignment="top">
  497. <row>
  498. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  499. \begin_inset Text
  500. \begin_layout Plain Layout
  501. Direction
  502. \end_layout
  503. \end_inset
  504. </cell>
  505. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  506. \begin_inset Text
  507. \begin_layout Plain Layout
  508. \begin_inset Formula $d_{x}$
  509. \end_inset
  510. \end_layout
  511. \end_inset
  512. </cell>
  513. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
  514. \begin_inset Text
  515. \begin_layout Plain Layout
  516. \begin_inset Formula $d_{y}$
  517. \end_inset
  518. \end_layout
  519. \end_inset
  520. </cell>
  521. </row>
  522. <row>
  523. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  524. \begin_inset Text
  525. \begin_layout Plain Layout
  526. 0
  527. \end_layout
  528. \end_inset
  529. </cell>
  530. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  531. \begin_inset Text
  532. \begin_layout Plain Layout
  533. 1
  534. \end_layout
  535. \end_inset
  536. </cell>
  537. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  538. \begin_inset Text
  539. \begin_layout Plain Layout
  540. -1
  541. \end_layout
  542. \end_inset
  543. </cell>
  544. </row>
  545. <row>
  546. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  547. \begin_inset Text
  548. \begin_layout Plain Layout
  549. 1
  550. \end_layout
  551. \end_inset
  552. </cell>
  553. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  554. \begin_inset Text
  555. \begin_layout Plain Layout
  556. 1
  557. \end_layout
  558. \end_inset
  559. </cell>
  560. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  561. \begin_inset Text
  562. \begin_layout Plain Layout
  563. \begin_inset Formula $-1/2$
  564. \end_inset
  565. \end_layout
  566. \end_inset
  567. </cell>
  568. </row>
  569. <row>
  570. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  571. \begin_inset Text
  572. \begin_layout Plain Layout
  573. 2
  574. \end_layout
  575. \end_inset
  576. </cell>
  577. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  578. \begin_inset Text
  579. \begin_layout Plain Layout
  580. 1
  581. \end_layout
  582. \end_inset
  583. </cell>
  584. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  585. \begin_inset Text
  586. \begin_layout Plain Layout
  587. 0
  588. \end_layout
  589. \end_inset
  590. </cell>
  591. </row>
  592. <row>
  593. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  594. \begin_inset Text
  595. \begin_layout Plain Layout
  596. 3
  597. \end_layout
  598. \end_inset
  599. </cell>
  600. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  601. \begin_inset Text
  602. \begin_layout Plain Layout
  603. 1
  604. \end_layout
  605. \end_inset
  606. </cell>
  607. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  608. \begin_inset Text
  609. \begin_layout Plain Layout
  610. \begin_inset Formula $1/2$
  611. \end_inset
  612. \end_layout
  613. \end_inset
  614. </cell>
  615. </row>
  616. <row>
  617. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  618. \begin_inset Text
  619. \begin_layout Plain Layout
  620. 4
  621. \end_layout
  622. \end_inset
  623. </cell>
  624. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  625. \begin_inset Text
  626. \begin_layout Plain Layout
  627. 1
  628. \end_layout
  629. \end_inset
  630. </cell>
  631. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  632. \begin_inset Text
  633. \begin_layout Plain Layout
  634. 1
  635. \end_layout
  636. \end_inset
  637. </cell>
  638. </row>
  639. <row>
  640. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  641. \begin_inset Text
  642. \begin_layout Plain Layout
  643. 5
  644. \end_layout
  645. \end_inset
  646. </cell>
  647. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  648. \begin_inset Text
  649. \begin_layout Plain Layout
  650. \begin_inset Formula $1/2$
  651. \end_inset
  652. \end_layout
  653. \end_inset
  654. </cell>
  655. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  656. \begin_inset Text
  657. \begin_layout Plain Layout
  658. 1
  659. \end_layout
  660. \end_inset
  661. </cell>
  662. </row>
  663. <row>
  664. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  665. \begin_inset Text
  666. \begin_layout Plain Layout
  667. 6
  668. \end_layout
  669. \end_inset
  670. </cell>
  671. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  672. \begin_inset Text
  673. \begin_layout Plain Layout
  674. 0
  675. \end_layout
  676. \end_inset
  677. </cell>
  678. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  679. \begin_inset Text
  680. \begin_layout Plain Layout
  681. 1
  682. \end_layout
  683. \end_inset
  684. </cell>
  685. </row>
  686. <row>
  687. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  688. \begin_inset Text
  689. \begin_layout Plain Layout
  690. 7
  691. \end_layout
  692. \end_inset
  693. </cell>
  694. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  695. \begin_inset Text
  696. \begin_layout Plain Layout
  697. \begin_inset Formula $-1/2$
  698. \end_inset
  699. \end_layout
  700. \end_inset
  701. </cell>
  702. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
  703. \begin_inset Text
  704. \begin_layout Plain Layout
  705. 1
  706. \end_layout
  707. \end_inset
  708. </cell>
  709. </row>
  710. </lyxtabular>
  711. \end_inset
  712. \begin_inset ERT
  713. status open
  714. \begin_layout Plain Layout
  715. }
  716. \end_layout
  717. \end_inset
  718. \end_layout
  719. \begin_layout Plain Layout
  720. \begin_inset Caption Standard
  721. \begin_layout Plain Layout
  722. Direction parameters
  723. \begin_inset CommandInset label
  724. LatexCommand label
  725. name "tab:Direction-parameters"
  726. \end_inset
  727. \end_layout
  728. \end_inset
  729. \end_layout
  730. \begin_layout Plain Layout
  731. \end_layout
  732. \end_inset
  733. \end_layout
  734. \begin_layout Subsection
  735. Second Stage Filter
  736. \end_layout
  737. \begin_layout Standard
  738. \begin_inset Float figure
  739. wide false
  740. sideways false
  741. status open
  742. \begin_layout Plain Layout
  743. \begin_inset ERT
  744. status open
  745. \begin_layout Plain Layout
  746. \backslash
  747. centering{
  748. \end_layout
  749. \end_inset
  750. \begin_inset Graphics
  751. filename crf_direction.eps
  752. width 23col%
  753. \end_inset
  754. \begin_inset Graphics
  755. filename crf_across.eps
  756. width 40col%
  757. \end_inset
  758. \begin_inset ERT
  759. status open
  760. \begin_layout Plain Layout
  761. }
  762. \end_layout
  763. \end_inset
  764. \end_layout
  765. \begin_layout Plain Layout
  766. \begin_inset Caption Standard
  767. \begin_layout Plain Layout
  768. Filtering along the direction (left) and filtering across the direction
  769. (right)
  770. \begin_inset CommandInset label
  771. LatexCommand label
  772. name "fig:Filtering-along-across"
  773. \end_inset
  774. .
  775. \end_layout
  776. \end_inset
  777. \end_layout
  778. \begin_layout Plain Layout
  779. \end_layout
  780. \end_inset
  781. \end_layout
  782. \begin_layout Standard
  783. The 7-tap directional filter is sometimes not enough to eliminate all ringing,
  784. so we use an additional filtering step that operates across the direction
  785. lines used in the first filter.
  786. Considering that the input of the second filter has considerably less ringing
  787. than the input of the second filter, and the fact that the second filter
  788. risks blurring edges, the position-dependent threshold
  789. \begin_inset Formula $T_{2}\left(i,j\right)$
  790. \end_inset
  791. for the second filter is set lower than that of the first filter
  792. \begin_inset Formula $T_{d}$
  793. \end_inset
  794. .
  795. The filter structure is the same as the one in Eq.
  796. \begin_inset space ~
  797. \end_inset
  798. \begin_inset CommandInset ref
  799. LatexCommand eqref
  800. reference "eq:directional_filter"
  801. \end_inset
  802. .
  803. The direction parameters for the second stage filter are shown in Table
  804. \begin_inset space ~
  805. \end_inset
  806. \begin_inset CommandInset ref
  807. LatexCommand eqref
  808. reference "tab:Ortho-parameters"
  809. \end_inset
  810. and the filter weights are
  811. \begin_inset Formula $\mathbf{w}=\left[\begin{array}{cc}
  812. 1 & 1\end{array}\right]$
  813. \end_inset
  814. with
  815. \begin_inset Formula $W=16/3$
  816. \end_inset
  817. .
  818. \end_layout
  819. \begin_layout Standard
  820. \begin_inset Float table
  821. wide false
  822. sideways false
  823. status open
  824. \begin_layout Plain Layout
  825. \begin_inset ERT
  826. status open
  827. \begin_layout Plain Layout
  828. \backslash
  829. centering{
  830. \end_layout
  831. \end_inset
  832. \begin_inset Tabular
  833. <lyxtabular version="3" rows="9" columns="3">
  834. <features rotate="0" tabularvalignment="middle">
  835. <column alignment="center" valignment="top">
  836. <column alignment="center" valignment="top">
  837. <column alignment="center" valignment="top">
  838. <row>
  839. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  840. \begin_inset Text
  841. \begin_layout Plain Layout
  842. Direction
  843. \end_layout
  844. \end_inset
  845. </cell>
  846. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  847. \begin_inset Text
  848. \begin_layout Plain Layout
  849. \begin_inset Formula $d_{x}$
  850. \end_inset
  851. \end_layout
  852. \end_inset
  853. </cell>
  854. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
  855. \begin_inset Text
  856. \begin_layout Plain Layout
  857. \begin_inset Formula $d_{y}$
  858. \end_inset
  859. \end_layout
  860. \end_inset
  861. </cell>
  862. </row>
  863. <row>
  864. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  865. \begin_inset Text
  866. \begin_layout Plain Layout
  867. 0
  868. \end_layout
  869. \end_inset
  870. </cell>
  871. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  872. \begin_inset Text
  873. \begin_layout Plain Layout
  874. 0
  875. \end_layout
  876. \end_inset
  877. </cell>
  878. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  879. \begin_inset Text
  880. \begin_layout Plain Layout
  881. 1
  882. \end_layout
  883. \end_inset
  884. </cell>
  885. </row>
  886. <row>
  887. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  888. \begin_inset Text
  889. \begin_layout Plain Layout
  890. 1
  891. \end_layout
  892. \end_inset
  893. </cell>
  894. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  895. \begin_inset Text
  896. \begin_layout Plain Layout
  897. 0
  898. \end_layout
  899. \end_inset
  900. </cell>
  901. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  902. \begin_inset Text
  903. \begin_layout Plain Layout
  904. 1
  905. \end_layout
  906. \end_inset
  907. </cell>
  908. </row>
  909. <row>
  910. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  911. \begin_inset Text
  912. \begin_layout Plain Layout
  913. 2
  914. \end_layout
  915. \end_inset
  916. </cell>
  917. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  918. \begin_inset Text
  919. \begin_layout Plain Layout
  920. 0
  921. \end_layout
  922. \end_inset
  923. </cell>
  924. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  925. \begin_inset Text
  926. \begin_layout Plain Layout
  927. 1
  928. \end_layout
  929. \end_inset
  930. </cell>
  931. </row>
  932. <row>
  933. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  934. \begin_inset Text
  935. \begin_layout Plain Layout
  936. 3
  937. \end_layout
  938. \end_inset
  939. </cell>
  940. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  941. \begin_inset Text
  942. \begin_layout Plain Layout
  943. 0
  944. \end_layout
  945. \end_inset
  946. </cell>
  947. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  948. \begin_inset Text
  949. \begin_layout Plain Layout
  950. 1
  951. \end_layout
  952. \end_inset
  953. </cell>
  954. </row>
  955. <row>
  956. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  957. \begin_inset Text
  958. \begin_layout Plain Layout
  959. 4
  960. \end_layout
  961. \end_inset
  962. </cell>
  963. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  964. \begin_inset Text
  965. \begin_layout Plain Layout
  966. 0
  967. \end_layout
  968. \end_inset
  969. </cell>
  970. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  971. \begin_inset Text
  972. \begin_layout Plain Layout
  973. 1
  974. \end_layout
  975. \end_inset
  976. </cell>
  977. </row>
  978. <row>
  979. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  980. \begin_inset Text
  981. \begin_layout Plain Layout
  982. 5
  983. \end_layout
  984. \end_inset
  985. </cell>
  986. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  987. \begin_inset Text
  988. \begin_layout Plain Layout
  989. 1
  990. \end_layout
  991. \end_inset
  992. </cell>
  993. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  994. \begin_inset Text
  995. \begin_layout Plain Layout
  996. 0
  997. \end_layout
  998. \end_inset
  999. </cell>
  1000. </row>
  1001. <row>
  1002. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  1003. \begin_inset Text
  1004. \begin_layout Plain Layout
  1005. 6
  1006. \end_layout
  1007. \end_inset
  1008. </cell>
  1009. <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
  1010. \begin_inset Text
  1011. \begin_layout Plain Layout
  1012. 1
  1013. \end_layout
  1014. \end_inset
  1015. </cell>
  1016. <cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
  1017. \begin_inset Text
  1018. \begin_layout Plain Layout
  1019. 0
  1020. \end_layout
  1021. \end_inset
  1022. </cell>
  1023. </row>
  1024. <row>
  1025. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  1026. \begin_inset Text
  1027. \begin_layout Plain Layout
  1028. 7
  1029. \end_layout
  1030. \end_inset
  1031. </cell>
  1032. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
  1033. \begin_inset Text
  1034. \begin_layout Plain Layout
  1035. 1
  1036. \end_layout
  1037. \end_inset
  1038. </cell>
  1039. <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
  1040. \begin_inset Text
  1041. \begin_layout Plain Layout
  1042. 0
  1043. \end_layout
  1044. \end_inset
  1045. </cell>
  1046. </row>
  1047. </lyxtabular>
  1048. \end_inset
  1049. \begin_inset ERT
  1050. status open
  1051. \begin_layout Plain Layout
  1052. }
  1053. \end_layout
  1054. \end_inset
  1055. \end_layout
  1056. \begin_layout Plain Layout
  1057. \begin_inset Caption Standard
  1058. \begin_layout Plain Layout
  1059. Second stage filter parameters
  1060. \begin_inset CommandInset label
  1061. LatexCommand label
  1062. name "tab:Ortho-parameters"
  1063. \end_inset
  1064. \end_layout
  1065. \end_inset
  1066. \end_layout
  1067. \end_inset
  1068. \end_layout
  1069. \begin_layout Section
  1070. Setting Thresholds
  1071. \end_layout
  1072. \begin_layout Standard
  1073. The thresholds
  1074. \begin_inset Formula $T_{d}$
  1075. \end_inset
  1076. and
  1077. \begin_inset Formula $T_{2}$
  1078. \end_inset
  1079. must be set high enough to smooth out ringing artefacts, but low enough
  1080. to avoid blurring important details in the image.
  1081. Although the ringing is
  1082. \emph on
  1083. roughly
  1084. \emph default
  1085. proportional to the quantization step size
  1086. \begin_inset Formula $Q$
  1087. \end_inset
  1088. , as the quantizer increases the error grows slightly less than linearly
  1089. because the unquantized coefficients become very small compared to
  1090. \begin_inset Formula $Q$
  1091. \end_inset
  1092. .
  1093. As a starting point for determining the thresholds, we use a power model
  1094. of the form
  1095. \begin_inset Formula
  1096. \begin{equation}
  1097. T_{0}=\alpha_{1}Q^{\beta}\ ,\label{eq:setting-Td}
  1098. \end{equation}
  1099. \end_inset
  1100. with
  1101. \begin_inset Formula $\beta=0.842$
  1102. \end_inset
  1103. in Daala, and where
  1104. \begin_inset Formula $\alpha_{1}$
  1105. \end_inset
  1106. depends on the input scaling.
  1107. \end_layout
  1108. \begin_layout Standard
  1109. Another factor that affects the optimal filtering threshold is the presence
  1110. of strong directional edges/patterns.
  1111. These can be estimated from the
  1112. \begin_inset Formula $s_{d}$
  1113. \end_inset
  1114. parameters computed in Eq.
  1115. \begin_inset space ~
  1116. \end_inset
  1117. \begin_inset CommandInset ref
  1118. LatexCommand eqref
  1119. reference "eq:direction-variance3"
  1120. \end_inset
  1121. as
  1122. \begin_inset Formula
  1123. \begin{equation}
  1124. \delta=s_{d_{opt}}-s_{d_{ortho}}\ ,\label{eq:variande-delta}
  1125. \end{equation}
  1126. \end_inset
  1127. where
  1128. \begin_inset Formula $d_{ortho}=d_{opt}+4\ \left(\mathrm{mod}\,8\right)$
  1129. \end_inset
  1130. .
  1131. We compute the direction filtering threshold for each block as
  1132. \begin_inset Formula
  1133. \[
  1134. T_{d}=T_{0}\cdot\max\left(\frac{1}{2},\min\left(3,\alpha_{2}\left(\delta\cdot\delta_{sb}\right)^{1/6}\right)\right)\ ,
  1135. \]
  1136. \end_inset
  1137. where
  1138. \begin_inset Formula $\delta_{sb}$
  1139. \end_inset
  1140. is the average of the
  1141. \begin_inset Formula $\delta$
  1142. \end_inset
  1143. values over the entire superblock and
  1144. \begin_inset Formula $\alpha_{2}$
  1145. \end_inset
  1146. also depends on the input scaling.
  1147. For the second filter, we use a more conservative threshold that depends
  1148. on the amount of change caused by the directional filter.
  1149. \begin_inset Formula
  1150. \begin{equation}
  1151. T_{2}\left(i,j\right)=\min\left(T_{d},\frac{T_{d}}{3}+\left|y\left(i,j\right)-x\left(i,j\right)\right|\right)\ .\label{eq:setting-T2}
  1152. \end{equation}
  1153. \end_inset
  1154. \end_layout
  1155. \begin_layout Standard
  1156. As a special case, when the pixels corresponding to the 8x8 block being
  1157. filtered are all skipped, then
  1158. \begin_inset Formula $T_{d}=T_{2}=0$
  1159. \end_inset
  1160. , so no deringing is performed.
  1161. \end_layout
  1162. \begin_layout Section
  1163. Superblock Filtering
  1164. \end_layout
  1165. \begin_layout Standard
  1166. The filtering is applied one superblock at a time, conditional on a flag
  1167. coded in the bit-stream.
  1168. This binary flag is the only information coded in the bitstream by the
  1169. deringing filter.
  1170. The flag is only coded for superblocks that are not skipped and it is entropy-c
  1171. oded based on the neighbour values.
  1172. \end_layout
  1173. \begin_layout Standard
  1174. The deringing process sometimes reads pixels that lie outside of the superblock
  1175. being processed.
  1176. When these pixels belong to another superblock, the filtering always uses
  1177. the unfiltered pixel values -- even for the second stage filter -- so that
  1178. no dependency is added between the superblocks.
  1179. This makes it possible -- in theory -- to filter all superblocks in parallel.
  1180. When the pixels used for a filter lie outside of the viewable image, we
  1181. set
  1182. \begin_inset Formula $f\left(d,T\right)=0$
  1183. \end_inset
  1184. in Eq.
  1185. \begin_inset space ~
  1186. \end_inset
  1187. \begin_inset CommandInset ref
  1188. LatexCommand eqref
  1189. reference "eq:threshold-function"
  1190. \end_inset
  1191. .
  1192. \end_layout
  1193. \begin_layout Section
  1194. Results
  1195. \end_layout
  1196. \begin_layout Standard
  1197. The deringing filter described here has been implemented for the Daala
  1198. \begin_inset space ~
  1199. \end_inset
  1200. \begin_inset CommandInset citation
  1201. LatexCommand cite
  1202. key "Daala"
  1203. \end_inset
  1204. codec.
  1205. It is available from the Daala Git repository
  1206. \begin_inset space ~
  1207. \end_inset
  1208. \begin_inset CommandInset citation
  1209. LatexCommand cite
  1210. key "Daala-Git"
  1211. \end_inset
  1212. .
  1213. We tested the deringing filter on the Are We Compressed Yet
  1214. \begin_inset space ~
  1215. \end_inset
  1216. \begin_inset CommandInset citation
  1217. LatexCommand cite
  1218. key "AWCY"
  1219. \end_inset
  1220. ntt-short1 set over the 0.025
  1221. \begin_inset space ~
  1222. \end_inset
  1223. bit/pixel to 0.1
  1224. \begin_inset space ~
  1225. \end_inset
  1226. bit/pixel range, corresponding to a 1080p30 bitrate of 1.5
  1227. \begin_inset space ~
  1228. \end_inset
  1229. Mbit/s to 6
  1230. \begin_inset space ~
  1231. \end_inset
  1232. Mbit/s.
  1233. The Bjøntegaard-delta
  1234. \begin_inset space ~
  1235. \end_inset
  1236. \begin_inset CommandInset citation
  1237. LatexCommand cite
  1238. key "Testing-draft"
  1239. \end_inset
  1240. rate reduction over that range was 6.5% for PSNR, 4.7% for PSNR-HVS, 5.6%
  1241. for SSIM and -6.0% (regression) for FAST-SSIM.
  1242. Visual inspection confirmed that the quality is indeed improved, despite
  1243. the regression in the FAST-SSIM result.
  1244. \end_layout
  1245. \begin_layout Section
  1246. Conclusion
  1247. \end_layout
  1248. \begin_layout Standard
  1249. We have demonstrated an effective algorithm to remove ringing artefacts
  1250. from coded images and videos.
  1251. The proposed filter takes into account the directionality of the patterns
  1252. it is filtering to reduce the risk of blurring.
  1253. \end_layout
  1254. \begin_layout Bibliography
  1255. \begin_inset CommandInset bibitem
  1256. LatexCommand bibitem
  1257. key "Daala"
  1258. \end_inset
  1259. Daala website, Xiph.Org Foundation.
  1260. \begin_inset ERT
  1261. status open
  1262. \begin_layout Plain Layout
  1263. \backslash
  1264. url{http://xiph.org/daala/}
  1265. \end_layout
  1266. \end_inset
  1267. \end_layout
  1268. \begin_layout Bibliography
  1269. \begin_inset CommandInset bibitem
  1270. LatexCommand bibitem
  1271. key "Daala-Git"
  1272. \end_inset
  1273. Daala Git repository.
  1274. \begin_inset ERT
  1275. status open
  1276. \begin_layout Plain Layout
  1277. \backslash
  1278. url{http://git.xiph.org/?p=daala.git;a=summary}
  1279. \end_layout
  1280. \end_inset
  1281. \end_layout
  1282. \begin_layout Bibliography
  1283. \begin_inset CommandInset bibitem
  1284. LatexCommand bibitem
  1285. label "3"
  1286. key "AWCY"
  1287. \end_inset
  1288. Are We Compressed Yet.
  1289. \begin_inset ERT
  1290. status open
  1291. \begin_layout Plain Layout
  1292. \backslash
  1293. url{https://arewecompressedyet.com/}
  1294. \end_layout
  1295. \end_inset
  1296. \end_layout
  1297. \begin_layout Bibliography
  1298. \begin_inset CommandInset bibitem
  1299. LatexCommand bibitem
  1300. label "4"
  1301. key "Testing-draft"
  1302. \end_inset
  1303. T.
  1304. Daede, J.
  1305. Moffitt,
  1306. \emph on
  1307. Video Codec Testing and Quality Measurement
  1308. \emph default
  1309. , IETF Internet draft, 2015.
  1310. \begin_inset ERT
  1311. status open
  1312. \begin_layout Plain Layout
  1313. \backslash
  1314. url{https://tools.ietf.org/html/draft-daede-netvc-testing}
  1315. \end_layout
  1316. \end_inset
  1317. \end_layout
  1318. \end_body
  1319. \end_document