Log in

View Full Version : madVR - high quality video renderer (GPU assisted)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 [473] 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329

James Freeman
21st February 2014, 19:20
Still, we must not forget that all this is in 4-bit, In 8-bit the discern-ability will be several times harder.
Its much easier to discern step 10 from 11 in 4-bit (0-16), than step 175 from 176 in 8-bit (0-255).

Here is a simple example:
http://www.mediafire.com/convkey/f26f/h3a63gtxpgm04agfg.jpg

Top is 100% bottom 400%.
The left square is 160 & 176 (one step in 4-bit).
The right square is 175 & 176 (one step in 8-bit).

This is a very organized (perfectly straight lines) static example, far from real content (in fact, its the exact opposite).
Even now I don't see the difference in shades in the 100% 8-bit square.

Another one with chess pattern:
http://www.mediafire.com/convkey/9bad/2vuj2c96tvnpw1vfg.jpg

Now the Left 4-bit 100% is harder to discern.


Madshi's dithering is endlessly better in blending these shades.
So take that into consideration when selecting the best looking build in 4-bit, because in 8-bit it'll be several times better.

iSunrise
21st February 2014, 19:34
...Basically what madVR's random dithering does is identical to "multiColor dynamic", just by using random dithering instead of error diffusion.
Unfortunately, 4bit mode doesnīt work when RD is active (I already tried) so weīre not able to do comparisons ourselves.

mono_static vs. multi_dynamic vs. opposite_dynamic

http://abload.de/thumb/bwramp_mono_static_gig6kbu.png (http://abload.de/image.php?img=bwramp_mono_static_gig6kbu.png)http://abload.de/thumb/bwramp_multi_dynamic_mpk29.png (http://abload.de/image.php?img=bwramp_multi_dynamic_mpk29.png)http://abload.de/thumb/bwramp_opposite_dynamevk8v.png (http://abload.de/image.php?img=bwramp_opposite_dynamevk8v.png)

Why exactly is it beneficial for us, when we insert even more noise (which is colored, too) into black areas, where there should only be gray dots. I just donīt get it. I find it extremely distracting, when I see pink, green and blue dots (which there are a lot of) in my shadow details, which was exactly the reason why we wanted another algorithm, that is more accurate than RD.

JarrettH
21st February 2014, 19:38
The development in the last 5 pages sounds interesting, except I don't understand it :D

James Freeman
21st February 2014, 19:44
Why exactly is it beneficial for us, when we insert even more noise (which is colored, too) into black areas, where there should only be gray dots. I just donīt get it.

It looks better to the human eye.
Isn't that the whole point of dithering?

Aikibana
21st February 2014, 19:44
I think from a hardware point of view AMD probably has the better compute hardware atm, so I don't think this is something NVidia can easily fix with a new driver build. AMD OpenCL interop is costly. This is something that *could* be fixed with a new driver. But I would not count on that ever happening. FWIW, probably I'll use DirectCompute for most new compute features and DirectCompute has no interop cost for AMD hardware. However, it's possible that NNEDI3 may stay with OpenCL. In that case I don't really know whether a high-end NVidia GPU would be better or worse than an AMD GPU.

Thanks for the info!

By the way: why use D3D9?
I've read AMD's interop proces with D3D10 and D3D11 is way better optimised. I guess you must have a very good reason...

iSunrise
21st February 2014, 19:48
It looks better to the human eye.
Isn't that the whole point of dithering.
No, because youīre not able to judge what is more accurate with your own eyes. Not in 8bit mode. And if you look at my shots, it doesnīt look better, it actually looks worse.

nevcairiel
21st February 2014, 19:52
No, because youīre not able to judge that with your own eyes. Not in 8bit mode. And if you look at my shots, it doesnīt look better, it actually looks worse.

This is obviously an enhanced image, as usually you would only see difference of +1, which isn't a "pink dot", but a slightly more red grey dot.

lhan
21st February 2014, 19:53
Does GPU-Z indicate that OpenCL is working correctly? (checkbox flagged)

On paper there's no obvious reason why this system config shouldn't work, right?
Yes OpenCL is checked in GPU-Z. It just runs slow and lags.
But I think I have found the problem.

When viewing interlaced source including DVDs I usually use de-interlacing with bob2x or similiar method to double the framerate, so that frames have to process is 60.(am I right?) My gpu seems just can't handle that much. Total output frames are only about 15fps.

After I turn de-interlace off or use non double-frame method, it can output 30fps, the gpu usage is still nearly full though. I think it works normally now(?

Edit:Never mind, it slows again after rebooting computer, dont know why.

iSunrise
21st February 2014, 19:55
This is obviously an enhanced image, as usually you would only see difference of +1, which isn't a "pink dot", but a slightly more red grey dot.
They were done in 4bit mode and they are completely untouched. I just exchanged the builds, nothing more, nothing less.

nevcairiel
21st February 2014, 19:56
4-bit is a virtual testing mode in itself, which amplifies such artifacts greatly. Look at 8-bit if you want to judge real world.

leeperry
21st February 2014, 19:57
Makes no sense to me. You've been watching content with madVR's random dithering for years now, and madVR's random dithering has a much higher chroma noise level than any of the multiColor/oppositeColor builds. Basically what madVR's random dithering does is identical to "multiColor dynamic", just by using random dithering instead of error diffusion.
I was using SmoothL for quite some time but maybe it's a bad case of rolling VR builds at 1AM duh...or maybe it's because the noise used to be totally random and identical on every channel when now it's doing that "wave cancellation" thingie. Fair enough, I shall try again.

You still haven't told us your opinion about the oppositeColor builds, btw. To my eyes it looks clearly lower noise than monoColor. See here:

| -- monoColor (http://madshi.net/monoColor.png) -- | -- multiColor (http://madshi.net/multiColor.png) -- | -- oppositeColor (http://madshi.net/oppositeColor.png) -- |
I find mono clearer looking, noise in the last one is lower but it seems to be hiding the original grain of the source? Seriously that big round stuff behind him is sharper with mono and even blurrier with opposite, isn't it :confused:

I don't like that "soft" look, it looks blurry in motion but alright, I'll compare them again on 12 grams.

PS: I'm using a 4:2:2 TV with BFI enabled, its "sharpness" setting set to neutral and low debanding forced in mVR BTW.

iSunrise
21st February 2014, 19:59
4-bit is a virtual testing mode in itself, which amplifies such artifacts greatly. Look at 8-bit if you want to judge real world.
Of course they are amplified (also because of the bit-difference), but thatīs the whole point of it, isnīt it? If the dithering-algorithm itself is not changed between 4bit and 8bit though, the 4bit mode results should also translate when in 8bit and higher. They are just way less obvious.

James Freeman
21st February 2014, 20:00
4-bit is a virtual testing mode in itself, which amplifies such artifacts greatly. Look at 8-bit if you want to judge real world.

Different people look for different things.

I think we should look for "Smoothness" & "Noise" in 4-bit, NOT "Extra Colors" or "Color Artifacts".
Extra colors or color artifacts will be invisible in 8-bit (look at this post (http://forum.doom9.org/showpost.php?p=1669757&postcount=23608)).

I think the key is to judge what you think would look better in 8-bit.

iSunrise
21st February 2014, 20:03
Different people look for different things.

I think we should look for "smoothness" & "Noise" in 4-bit and not "extra colors".
Color difference will be invisible in 8-bit (look at my square examples).
If you add extra colors into the mix, you are adding more noise. And thereīs a threshold somewhere, where adding more noise is not what we want. And I believe we just passed that.

A linear light build with the new changes would be interesting to see and compare against.

James Freeman
21st February 2014, 20:15
If you add extra colors into the mix, you are adding more noise. And thereīs a threshold somewhere, where adding more noise is not what we want. And I believe we just passed that.

Fair argument.

I agree that for 8-bit we could have stopped on NL6 or even earlier... but NO... we decided to dig deeper to achieve perfection.
The lower we go in bit depth the better we can judge the Noise & Smoothness aspects, and the worse we can judge the Color aspect.
Maybe adding more colors is adding more noise theoretically, but it appears the opposite, even in 4-bit where color distance is exaggerated.
The color builds just look smoother vs the mono builds.

Based on that, the OppositeColor Static build will also do perfectly fine in 8-bit, it will NOT look like dirt on the screen.
It also has less apparent noise.

flashmozzg
21st February 2014, 20:15
I liked mono static. Multi dynamic ads "random dif" like noise, so there is no point in it. With normal videos dithering patterns are rarely even noticeable, especially in motion.

iSunrise
21st February 2014, 20:31
Maybe adding more colors is adding more noise theoretically, but it appears the opposite, even in 4-bit where color distance is exaggerated.
The problem for us is that we were given the 4bit mode as an opportunity to more easily see differences instead of having to assume them or make image adjustments ourselves (at a point where we already have a very hard time of seeing improvements anymore), and if the algorithm doesnīt change and the 4bit mode works correctly (by reducing the input bitdepth) then it should translate to all other bitdepths as well, the only difference being that itīs just WAY less obvious to us.

So if I donīt find it to be more accurate in 4bit mode, why should I suddenly like it in 8bit more?

*Touche*
21st February 2014, 20:41
Why exactly is it beneficial for us, when we insert even more noise (which is colored, too) into black areas, where there should only be gray dots. I just donīt get it. I find it extremely distracting, when I see pink, green and blue dots (which there are a lot of) in my shadow details, which was exactly the reason why we wanted another algorithm, that is more accurate than RD.

Because we don't watch enhanced gray gradients, but actual content.

iSunrise
21st February 2014, 20:42
Because we don't watch enhanced gray gradients, but actual content.
You can see the colored dots when you make screenshots in movies, too. The gradients are just there to illustrate it better.
And again, the gradients are not enhanced, they are direct madVR windowed captures from the 4bit mode with the different builds.

Shiandow
21st February 2014, 20:43
I'm not sure I understand what you mean. Are you suggesting that I calculate the green random value from the red and blue random values? But doing "g = 1.39782 (0.072 b + 0.2126 r)" would have a much lower peak noise level for green than for red and blue. That means dithering for the green channel would not be very good. The lower noise level would reintroduce worm artifacts for the green ramp, maybe even some banding. I believe every channel needs exactly the full peak noise to make gradients reliably smooth and pattern-free.

I suppose it would indeed be a problem if the green channel didn't get enough noise, conversely if you raise the noise such that the green channel does have enough noise then this will probably make the red and green channels to noisy. Anyway, I'm beginning to suspect that the method you used in the "oppositeColor" algorithm actually is optimal, in the sense that of all the 'reasonable' ways to create noise it is the one that causes the least amount of Y noise. Although I'm not exactly sure how you'd need to define reasonable to actually prove that.

All that aside, oppositeColor looks great so it may not be necessary to look too hard for slight improvements.

James Freeman
21st February 2014, 20:47
The problem for us is that we were given the 4bit mode as an opportunity to more easily see differences instead of having to assume them or make image adjustments ourselves, and if the algorithm doesnīt change and the 4bit mode works correctly, then it should translate to all other bitdepths as well, the only difference being that itīs just WAY less obvious to us.

So if I donīt find it to be more accurate in 4bit mode, why should I suddenly like it in 8bit more?

You are right, every choice is valid.

What I'm trying to convey here is the human eye is less sensitive to color and more sensitive to light changes.
That why I think our judgement should be based on Noise & Smoothness, and less on exaggerated Colors.

Find an HD movie with clear skin tones where the character does not move much, and compare the builds.
The test patterns will not reflect real content.

I like the OppositeColor Dynamic build but,
I also like the OppositeColor Static build, for the reason the the "dirt on screen" effect will completely disappear in 8-bit,
It has significantly less noise compared to the dynamic build, and it has the benefits of less apparent Luma noise compared to the MonoColored builds.

*Touche*
21st February 2014, 20:54
You can see the colored dots when you make screenshots in movies, too. The gradients are just there to illustrate it better.
And again, the gradients are not enhanced, they are direct madVR windowed captures from the 4bit mode with the different builds.

I don't see them while watching, though. Luma noise on colored images makes more of a jumping color noise effect to me.

iSunrise
21st February 2014, 21:05
I don't see them while watching, though. Luma noise on colored images makes more of a jumping color noise effect to me.
What builds are you comparing? If you can show me a sample of that, I would be thankful.

nevcairiel
21st February 2014, 21:13
You can see the colored dots when you make screenshots in movies, too. The gradients are just there to illustrate it better.
And again, the gradients are not enhanced, they are direct madVR windowed captures from the 4bit mode with the different builds.

I also don't want to see singular bright grey dots on black instead of a gradient, which your 4bit screenshots show *very* clearly.
I think you need to take a step back and realize the extreme exaggeration the 4bit mode adds. In actual movie contetnt 4bit doesn't look too bad, but especially with greyramps or color ramps, it will just look much worse then 8-bit, and nothing can make that better. It does not translate 1:1 to 8-bit the way you think it does.

iSunrise
21st February 2014, 21:28
It does not translate 1:1 to 8-bit the way you think it does.
Thatīs the whole problem Iīm having. Assumptions are not my thing.

Test patterns, blind tests and subjective tests in a healthy mix are. But suddenly, everyone is posting from their subjective POV.

SamKook
21st February 2014, 22:06
Well you can use madVR on SLI systems, it is just much slower than if you disable SLI. I updated my drivers again so I do not use NNEDI3 (I usually watch blurays and 1080p->1440p with NNEDI3 isn't much better) so I do not notice or care that rendering is slower. EDIT: I will probably switch back soon though, NNEDI3 chroma upsampling is nice all the time. :o

It is probably only an issue when using NNEDI3 or if you have SLI'ed two low end cards.

I would love to hear reports from other SLI and Crossfire users as to rendering times with and without SLI/Crossfire. Use NNEDI3 to put a real load on the GPU, otherwise the cards sit in a lower power state and ramp up their clock speeds more in SLI instead of taking longer to render.

You mean madvr works with GPU in SLI? I haven't tested it a lot with my 2 GTX760 with updated drivers, but I never could get a picture to display(with the new stuff disabled obviously), it only display what's under the player and keep that image imprinted and everything freeze if I leave it on too long.
I did most of my testing with Nvidia surround activated though(which I think was mentionned at some point wasn't working, but I haven't done my research yet. It's something I wanted to confirm and add a bug report of it) and only tried it disabled with the keyboard shortcut.
I'll have to do a bit more testing.

Anime Viewer
21st February 2014, 22:13
Madshi, do these builds use OpenCL or DirectCompute, because the performance is about the same as v0.87.4 for me (A10-5800k)?

To be more specific its using DirectCompute for Error Diffusion, but OpenCL for NNEDI3. (Correct madshi?)
Meaning error diffusion should work across the board for everyone while NNEDI3 will only work for ATI users which includes you with your A10. (Nvidia hasn't put out a fix / corrected drivers, and its so slow on Intel GPU that its unusable). :(

leeperry
21st February 2014, 22:43
Alright, I got fresh eyes and feel great, thought it would be time for a shoot-out again :)

madVRadaptive4 : glorious PQ, everything looks natural, the impression of depth is unbelievable, I don't feel like I'm watching a movie at all. This looks extremely real.

madVR_monoColor_static_temporal : like a nasty constant rehashing of the dither grain, its cadence is annoying...it messes with the movie original grain, the sense of depth of the source is partly lost and the picture looks fuzzier with no added value. This is way too noisy and too predictable.

madVR_monoColor_dynamic : feels like a poorly executed x264 encode of madVRadaptive4, clarity is gone and the dithering grain disobeys to what the original movie was conveying.

madVR_monoColor_dynamic_temporal : feels like the dithering grain has learned new dance steps, the darn thing is doing 3 steps tango on top of my movies now.

madVR_multiColor_static: I still find the picture uneasy to look at but alright, maybe it's nocebo somehow...noise is lower but movements look blurry just like those three screenshots of yours look to me. The "natural" and "glorious" PQ of Oblivion is now replaced by softness, way not sharp enough to my taste.

madVR_multiColor_dynamic : The infamous dither grain dance on top of the motion bluriness, yay.

madVR_oppositeColor_static : Impression of depth is very poor, not impressed at all anymore. Still very(more?) blurry movements, still uneasy to look at(even more?).

madVR_oppositeColor_dynamic : Sharpness & sense of depth are much improved over the latter, but still not natural looking or impressive at all for that matter. There's stll that artificial grain that keeps dancing around on top of the movie grain, that's annoying and kills the the reel grain to my eyes. It's the least worse of the color builds to my eyes.

And I'm finally back to madVRadaptive4, I feel like I'm watching through to the TV instead of at the TV itself, my eyes instantly feel at home and can focus on that good ole monochrome movie grain, all those color builds feel like a bad dream and I'm stunned all over again :)

iSunrise
21st February 2014, 23:05
madVRadaptive4 : glorious PQ, everything looks natural, the impression of depth is unbelievable, I don't feel like I'm watching a movie at all. This looks extremely real.
Clarity is subjectively the best with the Adaptive 4 build for me, too. The other builds have the same effect on me that I described some pages ago, which is that added grain layer, which makes especially highly compressed movies look smoother. But that smoother appearance comes with the cost of sharpness and lost shadow details and I guess thatīs what youīre describing as depth of the image. And thatīs also what our eyes can see in the real world.

If madshi would add a grain effect that would work in the same way as multicolor_opposite works now, it would basically be the same result, but thatīs not what I look for in a dithering algorithm, I want transparency above anything else and not added pixelated clouds.

Iīm also not sure if thatīs my panel specifically, but especially in fast camera pans, when using the multicolor_dynamic builds, it almost seems like thereīs so much pixel change going on that I can barely focus the image at all.

bacondither
21st February 2014, 23:11
Seeing motion blur due to dither... that's something new. :D

leeperry
21st February 2014, 23:14
Well, that big round stuff behind the guy is sharper with mono and even blurrier with opposite, isn't it :confused:
| -- monoColor (http://madshi.net/monoColor.png) -- | -- multiColor (http://madshi.net/multiColor.png) -- | -- oppositeColor (http://madshi.net/oppositeColor.png) -- |

Oh well, maybe my 4:2:2 TV, its BFI and/or my lack of red cones all play their part in that problem...not sure.

iSunrise
21st February 2014, 23:14
Seeing motion blur due to dither... that's something new. :D
If you have a sharp image and move it, your eyes can focus way easier on the contents. I donīt think that this is new at all. Thatīs also the reason some people prefer sharper algorithms like Lanczos over SoftCubic. And since the noise is static in ED4, your eyes can easily concentrate purely on the content, rather than the noise, which changes in every frame in every channel, which will distract the focus point when thereīs panning.

Well, that big round stuff behind the guy is sharper with mono and even blurrier with opposite, isn't it :confused:
What I donīt like about madshiīs example is that itīs almost completely out of focus. Very hard to see differences. Itīs probably a lot better in motion, though.

bacondither
21st February 2014, 23:36
OppositeColor dynamic looks to have a tiny bit lower subjective noise level then multiColor dynamic. 4-bits are almost enough to look good!. My preference lean towards oppositeColor dynamic now.

Letting different color channels cancel out some noise and some temporal smoothing(dynamic thresholding noise) to lower the subjective noise further is looking like a good idea.

If you pause the playback when using a dynamic build, the subjective noise level rises to the same as the static builds. Which is only logical, because the "dynamic" part has become static when paused.

cyberbeing
21st February 2014, 23:39
Tried that, but it doesn't look better than dymamic to me. Here are 2 test builds for you with this solution:

http://madshi.net/madVRtemporal.rar

I think I agree. madVR_monoColor_dynamic_temporal I found hard to determine if it was a noticeable improvement over madVR_monoColor_dynamic. madVR_monoColor_static_temporal was different, as it strobes the dither between those two states as expected and could possibly be helpful, but only if viewed from an ample distance. I expect the apperance of either of these temporal builds would probably largely depend on the display, so probably a bad idea to have such a thing without a knob to toggle it. If no one else likes it, I'd say just scrap it.

Unfortunately, I can't say I prefer either of these over a normal static dither.

You still haven't told us your opinion about the oppositeColor builds, btw. To my eyes it looks clearly lower noise than monoColor.

I took some screenshots of my own, and I now see this luma noise difference you were talking about. That said...

oppositeColor was horrible to my eyes, it produces way too much strangely colored chroma noise. Not worth the trade-off at all, and seems to harm video quality greatly.

multiColor was more balanced between luma and chroma noise, but the chroma noise wasn't strange like oppositeColor. Could probably live with this if necessary.

monoColor while it did have the most luma noise, I see this as actually beneficial. The dither indeed has a more neutral impact on colors, while the luma noise has a side effect of improving sharpness and definition of the image slightly, compared to multiColor which has a softer appearance.

On a scale of 1 (worst) to 10 (best), I'd rate them as follows for the static builds:

monoColor = 8
multiColor = 6
oppositeColor = 1

wolfman2791
21st February 2014, 23:46
Here's a completely non-technical opinion: For me, the perfect picture is a blend of sharpness and vividness of color. When the image gets too sharp, the frames move robotically and you lose the "natural feel" of the video. Similarly, if the colors are too vivid, everything looks like anime.

For me, the "opposite color-dynamic" version seems to capture the balance the best out of the last test series. But i did prefer the multicolor-dynamic over opposite color... this is just an opinion on the opposite color batch.

I would suggest releasing 3 builds btw:
- One that focuses on the vividness of the colors, which would be great for anime.
- One that focuses on the sharpness of the image, which would be great for documentaries, sports, etc.
- One that focuses on balance, which is the best for viewing moves and other videos - basically the one that's going to be the most widely used.

It would be great if the 3 could be incoporated in one build and have a toggle mechanism... but i know that's asking too much :lol:

Just my 2 cents.

GREG1292
21st February 2014, 23:46
And I'm finally back to madVRadaptive4, I feel like I'm watching through to the TV instead of at the TV itself, my eyes instantly feel at home and can focus on that good ole monochrome movie grain, all those color builds feel like a bad dream and I'm stunned all over again

I can't seem to go back to A4 as to me it looks like something is missing? I'm so far into the picture with ODC build
I don't need to concentrate on the grain but the movie it's self. A4 i'm alway's trying to make the picture look better.
Very distracting indeed.

Asmodian
21st February 2014, 23:54
Oh well, maybe my 4:2:2 TV, its BFI and/or my lack of red cones all play their part in that problem...not sure.

My father is very colorblind (both red/green and blue/yellow). The most amazing difference I experienced growing up with him was the "which is more colorful" test. There are two images one made up of reds and greens and the same image but in browns and tans. To me the red and green is obviously much more colorful while he thought the browns and tans were. He also doesn't notice red flowers on a green bush. I bet the colored noise looks very different to you than to us. :(

I could also see how 4:2:2 mode doesn't play nice with colored noise. I wonder if you could try some tests in a 4:4:4 mode so your opinion is less tied to how your TV processes RGB -> YUV -> RGB? What if you get a better display that can do everything you want while keeping RGB.

If we will also have a low noise dither option maybe lowering noise beyond the level in Adaptive4 isn't necessary for the medium noise algorithm? I must say the difference in luma noise level is all I can notice between the different algorithms (1000:1 display, glossy 1440 IPS - none of those matte anti-glare screens). :p

*Touche*
22nd February 2014, 00:09
What builds are you comparing? If you can show me a sample of that, I would be thankful.

monoColor_dynamic vs multi/oppositeColor_dynamic, 8bit mode

I've worded it wrong. It is not so much colored noise, as it is noise on areas of single/similar color.

I don't have small samples but this is what I use:

There is a scene in Thor 2 with a closeup of a book @0:32:20. It has areas with lots of details, areas with larger surfaces of single/similar color, rotating monocolored strands...
Another test sample that I use is True Detective s0e3 around 8th minute with large static background sufaces, human skin, hair, shirts...

I've just tried Adaptive4 and find it also inferior to oppositeColor_dynamic.

leeperry
22nd February 2014, 00:13
Clarity is subjectively the best with the Adaptive 4 build for me, too. The other builds have the same effect on me that I described some pages ago, which is that added grain layer, which makes especially highly compressed movies look smoother. But that smoother appearance comes with the cost of sharpness and lost shadow details and I guess thatīs what youīre describing as depth of the image. [..]
Iīm also not sure if thatīs my panel specifically, but especially in fast camera pans, when using the multicolor_dynamic builds, it almost seems like thereīs so much pixel change going on that I can barely focus the image at all.
As I said since the beginning, I'm here to watch the movie and I expect the dithering to look as "transparent" as possible meaning that I don't want it to mess with clarity, motion, movie grain, sharpness, colorimetry and try to become the center of attraction.

Oblivion has gone through tremendous video production(every BD review I've found agrees) and the only grain I wanna see is the stunning work of the engineers who worked on it.

If you have a sharp image and move it, your eyes can focus way easier on the contents. [..] since the noise is static in ED4, your eyes can easily concentrate purely on the content, rather than the noise, which changes in every frame in every channel, which will distract the focus point when thereīs panning.
Exactly, a wild analogy would be that ED4 is like J3AR...naturally sharp and very clear looking, http://forum-images.hardware.fr/images/perso/loomy.gif it.

way too much strangely colored chroma noise.
Good to know that it's not my imagination, I see very faint color fringing and my brain is wondering whether I'm drunk, high or if my eyes or visual cortex cannot be trusted anymore...it creates quite a bit of a kernel panic, now to understand why nobody else is seeing it :o

A4 i'm alway's trying to make the picture look better. Very distracting
Weird, what's the native CR of your display? Is it perfectly REC709/D65 calibrated? Is its "sharpness" setting set to neutral?

When the image gets too sharp, the frames move robotically and you lose the "natural feel" of the video.
Are you watching 24/25p in 60Hz? I use Reclock in a multiple refresh rate and everything's butter smooth here. I hate artificial sharpening and mVR has never done any of that IME.

One that focuses on the vividness of the colors
The only proper way to watch videos is D65 calibration within the right gamut(mapped if necessary), if you want to play around with color saturation I'm sure JanWillem has a few PS scripts for you (http://forum.doom9.org/showthread.php?t=157634).

I bet the colored noise looks very different to you than to us.
I only lack some red cones, it's not so bad as some colorblinds are wayyy worse.

I could also see how 4:2:2 mode doesn't play nice with colored noise. I wonder if you could try some tests in a 4:4:4 mode so your opinion is less tied to how your TV processes RGB -> YUV -> RGB? What if you get a better display that can do everything you want while keeping RGB.
I cannot stand LCD without BFI and there are only <=27" computer monitors that allow 4:4:4 BFI in my price range(<$1K roughly) AFAIK, I really do need a 32 incher and at least 3K:1 CR. Without BFI, my 32" 3500:1 A-MVA panel is motion-blurry and sluggish as clearly explained here (http://www.tftcentral.co.uk/articles/content/benq_fp241w_3.htm).

YV12 is 4:2:0, 4:4:4 kinda seems overkill IMHO...and I already find 32x NNEDI chroma artificial looking in 4:2:2, OTOH J3AR looks fantastic(and the TV engine runs in 10/12bit) :)

fairchild
22nd February 2014, 01:47
I've just gone back to vanilla random dithering until this new dithering pattern is hashed out. I honestly have gotten dizzy from all the dithering talk and different methods being used and people flip-flopping on their favorite version. ;)

I can't even see a difference between random dithering and no dithering on good content. (own 166 blu-ray discs currently) This is on a calibrated 55" VT60 plasma using a quality meter to rec709/d65. (colormunki photo spectrometer) I'm sure I'll be happy with whatever the consensus is and what madshi decides ultimately.

6233638
22nd February 2014, 02:15
Tried that, but it doesn't look better than dymamic to me. Here are 2 test builds for you with this solution:

http://madshi.net/madVRtemporal.rarThis seems to be worse than the "opposite" builds. The noise pattern is a lot more obvious, and it doesn't seem to do as good a job blending tones.

Why exactly is it beneficial for us, when we insert even more noise (which is colored, too) into black areas, where there should only be gray dots. I just donīt get it. I find it extremely distracting, when I see pink, green and blue dots (which there are a lot of) in my shadow details, which was exactly the reason why we wanted another algorithm, that is more accurate than RD.If you look at your images, you will see that a lot more of the image is "filled in" with the colored builds. With monochrome dither there are larger gaps in the dither pattern which add texture/noise.

When you are looking at an 8-bit image (or even a 4-bit image) rather than a contrast-boosted one, it should blend together to create smoother tones.

I find mono clearer looking, noise in the last one is lower but it seems to be hiding the original grain of the source? Seriously that big round stuff behind him is sharper with mono and even blurrier with opposite, isn't it :confused:"sharpness" differences like that are due to how our perception works. Higher noise is often perceived as being a sharper image due to the texture it adds.

PS: I'm using a 4:2:2 TV with BFI enabled, its "sharpness" setting set to neutral and low debanding forced in mVR BTW.There's a very good chance that viewing in 4:2:2 will be affecting the results. I do all my testing in 4:4:4.

I wonder if some people are testing with displays which are less than 8-bit native too.

And I'm finally back to madVRadaptive4, I feel like I'm watching through to the TV instead of at the TV itself, my eyes instantly feel at home and can focus on that good ole monochrome movie grain, all those color builds feel like a bad dream and I'm stunned all over again :)How do you feel "adaptive4" compares to "mono static" ? (not mono static temporal)



EDIT: I have just done some more testing with the "static" builds, and I know what it is that I don't like about them.

When the camera moves, e.g. in a hand-held shot where there is a subtle swaying motion, because the dither pattern is static it looks like there is something on the lens, as it moves with the camera.

With the dynamic builds, it's randomized so this does not happen.
Yes the noise level is somewhat higher, but I just don't see it being an issue when viewing at 8-bit.

Asmodian
22nd February 2014, 03:33
YV12 is 4:2:0, 4:4:4 kinda seems overkill IMHO...and I already find 32x NNEDI chroma artificial looking in 4:2:2, OTOH J3AR looks fantastic(and the TV engine runs in 10/12bit) :)

But you are judging the results of dithering which is absolutely in native 4:4:4 (RGB even). What does the conversion to 4:2:2 do to the error that has been spread out by the dithering? I am sure no BFI looks worse but I would hate to end up with a dither algorithm that is optimized for a 4:2:2 screen. 4:2:2 is a complete deal breaker for me. :(

I wish I still had a bigger screen so I could do my own testing. :o

madshi
22nd February 2014, 03:46
Why exactly is it beneficial for us, when we insert even more noise (which is colored, too) into black areas, where there should only be gray dots. I just donīt get it. I find it extremely distracting, when I see pink, green and blue dots (which there are a lot of) in my shadow details, which was exactly the reason why we wanted another algorithm, that is more accurate than RD.
No, the reason why we wanted another algorithm got nothing to do with colored versus monochromatic noise. I could modify the random dithering to be mono colored, too. And static, if I wanted to. The key difference between error diffusion and random dithering is that error diffusion can achieve the same (or better) smoothness with a noticeably lower noise floor. Whether we use mono colored noise or multi colored noise, or whether we use static or dynamic noise patterns, is independent of whether we use random dithering or error diffusion.

I explicitly asked you guys to concentrate more on real video content instead of gray ramps with the latest test builds, because, and I *hope* we all agree on this, real movie content is what counts in the end, not gray ramps.

And it's incorrect that you say that we add more noise. That's simply not true. If you look at real video content, the oppositeColor build has the lowest subjective noise level. Look here:

| -- monoColor (http://madshi.net/monoColor.png) -- | -- multiColor (http://madshi.net/multiColor.png) -- | -- oppositeColor (http://madshi.net/oppositeColor.png) -- | -- original (http://madshi.net/edTestOrg.png) -- |

Now which of the three 4bit images looks closest to the 8bit original (I think there's no big difference there)? Which of the 4bit images has the lowest subjective noise level (definitely oppositeColor, IMHO)? Tell me, do you want to judge image quality by staring at gray ramps? Or by testing with actual movie content? And then, if you do want to test with a gray ramp, use one which moves (gets darker/brighter) and then compare in motion. I think you'll not see colored pixels. (Well, maybe leeperry will, what do I know).

If you can find real world material (e.g. a black & white movie) where you can see colored dither dots while watching the movie in motion then *that* is something I would consider a good argument for at least offering an option to use monochromatic noise instead of colored noise.

By the way: why use D3D9?
I've read AMD's interop proces with D3D10 and D3D11 is way better optimised. I guess you must have a very good reason...
I use D3D9 because I want to support XP, too, and because all current DXVA decoders are still based on D3D9 (AFAIK). Besides, the way the current madVR windowed mode works, wouldn't be possible with D3D11. So I believe if I tried to use D3D11 for windowed mode, windowed mode playback would get worse. I doubt that D3D11 <-> OpenCL interop works faster than D3D9 <-> OpenCL, but I haven't tested it.

I suppose it would indeed be a problem if the green channel didn't get enough noise, conversely if you raise the noise such that the green channel does have enough noise then this will probably make the red and green channels to noisy. Anyway, I'm beginning to suspect that the method you used in the "oppositeColor" algorithm actually is optimal, in the sense that of all the 'reasonable' ways to create noise it is the one that causes the least amount of Y noise.
I think so, too. At least I see no better solution right now.

I find mono clearer looking, noise in the last one is lower but it seems to be hiding the original grain of the source? Seriously that big round stuff behind him is sharper with mono and even blurrier with opposite, isn't it :confused:
Let me add the original image to make the comparison more helpful:

| -- monoColor (http://madshi.net/monoColor.png) -- | -- multiColor (http://madshi.net/multiColor.png) -- | -- oppositeColor (http://madshi.net/oppositeColor.png) -- | -- original (http://madshi.net/edTestOrg.png) -- |

As you can see, there's no grain in the original image, and the background is supposed to be blurred. Ok, so this test image does not help us decide which of the error diffusion algorithms reproduces film grain in the best possible way. We need a different video/image for that. But this image does show us which error diffusion algorithm produces the lowest subjective luma noise levels. Agreed?

To be more specific its using DirectCompute for Error Diffusion, but OpenCL for NNEDI3. (Correct madshi?)
Meaning error diffusion should work across the board for everyone while NNEDI3 will only work for ATI users which includes you with your A10. (Nvidia hasn't put out a fix / corrected drivers, and its so slow on Intel GPU that its unusable). :(
Correct.

madVRadaptive4 : glorious PQ, everything looks natural, the impression of depth is unbelievable, I don't feel like I'm watching a movie at all. This looks extremely real.

madVR_monoColor_static_temporal : like a nasty constant rehashing of the dither grain, its cadence is annoying...it messes with the movie original grain, the sense of depth of the source is partly lost and the picture looks fuzzier with no added value. This is way too noisy and too predictable.

madVR_monoColor_dynamic : feels like a poorly executed x264 encode of madVRadaptive4, clarity is gone and the dithering grain disobeys to what the original movie was conveying.

madVR_monoColor_dynamic_temporal : feels like the dithering grain has learned new dance steps, the darn thing is doing 3 steps tango on top of my movies now.

madVR_multiColor_static: I still find the picture uneasy to look at but alright, maybe it's nocebo somehow...noise is lower but movements look blurry just like those three screenshots of yours look to me. The "natural" and "glorious" PQ of Oblivion is now replaced by softness, way not sharp enough to my taste.

madVR_multiColor_dynamic : The infamous dither grain dance on top of the motion bluriness, yay.

madVR_oppositeColor_static : Impression of depth is very poor, not impressed at all anymore. Still very(more?) blurry movements, still uneasy to look at(even more?).

madVR_oppositeColor_dynamic : Sharpness & sense of depth are much improved over the latter, but still not natural looking or impressive at all for that matter. There's stll that artificial grain that keeps dancing around on top of the movie grain, that's annoying and kills the the reel grain to my eyes. It's the least worse of the color builds to my eyes.

And I'm finally back to madVRadaptive4, I feel like I'm watching through to the TV instead of at the TV itself, my eyes instantly feel at home and can focus on that good ole monochrome movie grain, all those color builds feel like a bad dream and I'm stunned all over again :)
Ok, thanks!

Well, that big round stuff behind the guy is sharper with mono and even blurrier with opposite, isn't it :confused:
It's noisier, not sharper. See the original image where that big round stuff is very blurry.

OppositeColor dynamic looks to have a tiny bit lower subjective noise level then multiColor dynamic. 4-bits are almost enough to look good!. My preference lean towards oppositeColor dynamic now.

Letting different color channels cancel out some noise and some temporal smoothing(dynamic thresholding noise) to lower the subjective noise further is looking like a good idea.
The temporal tries didn't work out so well for now, unfortunately.

oppositeColor was horrible to my eyes, it produces way too much strangely colored chroma noise. Not worth the trade-off at all, and seems to harm video quality greatly.
Can you upload a small sample where this is visible in motion?

monoColor while it did have the most luma noise, I see this as actually beneficial. The dither indeed has a more neutral impact on colors, while the luma noise has a side effect of improving sharpness and definition of the image slightly, compared to multiColor which has a softer appearance.
Yesterday I watched Americal Idol in 4bit and I found the image to be nicely "crisp". Then I switched to 8bit, and it was subjectively so blurry! In the same way watching the movies in 10bit will look (a tiny bit) softer than watching them in 8bit. Having a higher luma noise floor can make the image appear more detailed. But that's most definitely *not* the purpose of error diffusion. The main purpose of error diffusion is to simulate a higher bitdepth as much as possible. So the better the error diffusion works, the less crisp the image might actually appear, compared to a higher-noise alternative. So what we should be aiming for is not crispness, but low noise smoothness. If you want that small amount of added crispness, you can add artificial grain, or sharpen the image, or tell madVR that your display can only do 7bit or 6bit.

On a scale of 1 (worst) to 10 (best), I'd rate them as follows for the static builds:

monoColor = 8
multiColor = 6
oppositeColor = 1
:( It seems some users hate oppositeColor, while the majority prefers it over the other solutions. That is bad...

I would suggest releasing 3 builds btw:
- One that focuses on the vividness of the colors, which would be great for anime.
- One that focuses on the sharpness of the image, which would be great for documentaries, sports, etc.
- One that focuses on balance, which is the best for viewing moves and other videos - basically the one that's going to be the most widely used.
This would only be possible if it were objectively possible to figure out which build does which best. And we're not all in agreement about this. So I don't think an option like this is going to happen.

And I'm finally back to madVRadaptive4, I feel like I'm watching through to the TV instead of at the TV itself, my eyes instantly feel at home and can focus on that good ole monochrome movie grain, all those color builds feel like a bad dream and I'm stunned all over again

I can't seem to go back to A4 as to me it looks like something is missing? I'm so far into the picture with ODC build
I don't need to concentrate on the grain but the movie it's self. A4 i'm alway's trying to make the picture look better.
Very distracting indeed.
I'm confused. Didn't you say you prefered oppositeColor_dynamic? So you changed your mind again and now you prefer adaptive4 again? At least your first paragraph reads like that. But then in your 2nd paragraph you're saying adaptive4 looks like there's something missing, which is a negative judgement? So I'm not sure right now whether you like adaptive4 or not.

"sharpness" differences like that are due to how our perception works. Higher noise is often perceived as being a sharper image due to the texture it adds.
Yep.

There's a very good chance that viewing in 4:2:2 will be affecting the results. I do all my testing in 4:4:4.
I'm not sure about this. I think having the TV downscale the chroma from 4:4:4 to 4:2:2 should actually smooth some of the chroma noise away. Ok, maybe with 4bit dithering the chroma downscaling could produce somewhat wrong results because the colors are so far away (the downscaling should be done in linear light, but isn't). But this shouldn't be a problem with higher bitdepths, where the colors are rather near to each other.

EDIT: I have just done some more testing with the "static" builds, and I know what it is that I don't like about them.

When the camera moves, e.g. in a hand-held shot where there is a subtle swaying motion, because the dither pattern is static it looks like there is something on the lens, as it moves with the camera.

With the dynamic builds, it's randomized so this does not happen.
Yes the noise level is somewhat higher, but I just don't see it being an issue when viewing at 8-bit.
Yes, this effect is what I earlier called the "dirty screen effect". You're describing it as a "dirty lens effect", which is basically the same thing. I do wonder, though, whether this effect is visible/distracting at all at 8bit. If it's not, maybe it'd be better to stick to the static builds to keep the subjective noise as low as possible? I'm on the fence on this one. It's definitely a trade between lower subjective noise floor (pro static) and dirty screen/lens effect (contra static).

GREG1292
22nd February 2014, 03:53
Leeperry not a projector calibration issue a noise issue and lack of depth and shadow detail. I to am only concerned about the picture but 92" from
10 feet it is very easy to see the differences in all these test builds. You have great eyes and I have learned a lot from your expertise about what to
look for in an image.


Sent from my iPhone using Tapatalk

madshi
22nd February 2014, 04:04
http://madshi.net/edClock.png

To my eyes this looks something like 4bit, 4.5bit, 5bit and 8bit. Please note how the images with error diffusion look "crisper" than the original. This is why I'm saying that when judging the error diffusion algorithms we shouldn't aim for crispness, but for the smoothest result with the lowest noise level. That should actually bring out the original source detail the best, even though it doesn't look as crisp.

Anybody willing to do a similar test with a movie which has lots of grain and detail?

@leeperry, do you like ClearType? I think that's somewhat similar to Multi/OppositeColor. I've read that some people are bothered by ClearType and prefer it turned off, while the majority of people prefer it turned on.

6233638
22nd February 2014, 04:15
If you can find real world material (e.g. a black & white movie) where you can see colored dither dots while watching the movie in motion then *that* is something I would consider a good argument for at least offering an option to use monochromatic noise instead of colored noise.For what it's worth, some of my testing has included black and white content, and some films which appear to be black and white, but actually have a color tint to them, and I still found the colored builds to have the lowest subjective noise level, compared to the monochromatic ones.

I use D3D9 because I want to support XPI understand that you might still want to continue supporting it, but even Microsoft is dropping XP support in 7 weeks time.
Considering the increasing hardware requirements for madVR, I have to wonder who is using modern hardware and still running XP.

Yesterday I watched Americal Idol in 4bit and I found the image to be nicely "crisp". Then I switched to 8bit, and it was subjectively so blurry! In the same way watching the movies in 10bit will look (a tiny bit) softer than watching them in 8bit. Having a higher luma noise floor can make the image appear more detailed. But that's most definitely *not* the purpose of error diffusion. The main purpose of error diffusion is to simulate a higher bitdepth as much as possible. So the better the error diffusion works, the less crisp the image might actually appear, compared to a higher-noise alternative. So what we should be aiming for is not crispness, but low noise smoothness. If you want that small amount of added crispness, you can add artificial grain, or sharpen the image, or tell madVR that your display can only do 7bit or 6bit.It's funny, as I noticed the same thing. It makes me think that it might be worthwhile for madVR to have some sort of way to add grain to the image at some point. (but obviously not through the dithering process)

I'm not sure about this. I think having the TV downscale the chroma from 4:4:4 to 4:2:2 should actually smooth some of the chroma noise away. Ok, maybe with 4bit dithering the chroma downscaling could produce somewhat wrong results because the colors are so far away (the downscaling should be done in linear light, but isn't). But this shouldn't be a problem with higher bitdepths, where the colors are rather near to each other.When the RGB > 4:2:2 conversion is out of our control, it's difficult to predict what the results will be. I agree that the blurring could possibly be beneficial, but we can't say that it will be for certain, on all displays.
This is why I make sure that my display is operating in a 4:4:4 mode when testing.

Yes, this effect is what I earlier called the "dirty screen effect". You're describing it as a "dirty lens effect", which is basically the same thing. I do wonder, though, whether this effect is visible/distracting at all at 8bit. If it's not, maybe it'd be better to stick to the static builds to keep the subjective noise as low as possible? I'm on the fence on this one. It's definitely a trade between lower subjective noise floor (pro static) and dirty screen/lens effect (contra static).Not that I'm saying you should bring it back, but I wonder if it's the same issue where dithered areas next to undithered areas may be more noticeable than if the whole image were dithered. (i.e. limited vs unlimited builds) Obviously dithering everything would add noise though.

I still haven't been able to find anything where the dynamic builds add noticeable noise or "energy" to the image when viewing in 8-bit, compared to the static builds.
And while it does add noise or "energy" to the image in 4-bit, I think it is very much preferable to the "dirty screen effect".

@leeperry, do you like ClearType? I think that's somewhat similar to Multi/OppositeColor. I've read that some people are bothered by ClearType and prefer it turned off, while the majority of people prefer it turned on.I actually really dislike the default ClearType settings. I find that the subpixel rendering is far too saturated, and color fringing is very noticeable to me.
But I prefer using the less saturated version of ClearType (available via the ClearType tuner) to using monochrome rendering, as this still gives you most of the resolution benefits without obvious color fringing.

madshi
22nd February 2014, 04:29
For what it's worth, some of my testing has included black and white content, and some films which appear to be black and white, but actually have a color tint to them, and I still found the colored builds to have the lowest subjective noise level, compared to the monochromatic ones.
Ok, good to know.

I understand that you might still want to continue supporting it, but even Microsoft is dropping XP support in 7 weeks time.
Considering the increasing hardware requirements for madVR, I have to wonder who is using modern hardware and still running XP.
True. But XP support is only one out of several reasons why I'm using D3D9.

Not that I'm saying you should bring it back, but I wonder if it's the same issue where dithered areas next to undithered areas may be more noticeable than if the whole image were dithered. (i.e. limited vs unlimited builds) Obviously dithering everything would add noise though.
The limiter doesn't disable dithering, it just limits the noise to a reasonable range. E.g. for a 10.2 pixel value the limiter only allows error diffusion to use pixel values of 10 and 11, but not 9 or 12.

I still haven't been able to find anything where the dynamic builds add noticeable noise or "energy" to the image when viewing in 8-bit, compared to the static builds.
And while it does add noise or "energy" to the image in 4-bit, I think it is very much preferable to the "dirty screen effect".
I think I do see a slightly higher noise floor in 8bit with the dynamic builds (at least when using monoColor), and I'm not sure I see the dirty screen effect at 8bit, so I'm not sure whether the static builds wouldn't be better in 8bit. But in 4bit I definitely prefer the dynamic builds. So I'm still on the fence about whether to use static or dynamic at 8bit.

6233638
22nd February 2014, 04:36
I think I do see a slightly higher noise floor in 8bit with the dynamic builds (at least when using monoColor), and I'm not sure I see the dirty screen effect at 8bit, so I'm not sure whether the static builds wouldn't be better in 8bit. But in 4bit I definitely prefer the dynamic builds. So I'm still on the fence about whether to use static or dynamic at 8bit.On images where the dynamic noise is visible (though I'm still not really seeing it in 8-bit images - I wonder if it's because people are testing on displays which are less than 8-bit?) it should be safe to assume that the static noise pattern would be equally visible.

I would much rather see the dynamic noise than the "dirty screen" effect.

In my testing using the 4-bit mode though, I find that there are images where additional noise from the dynamic builds is very difficult to see, but the "dirty screen effect" is always obvious.

To my eyes this looks something like 4bit, 4.5bit, 5bit and 8bit.I agree. Here's another example taken from a random patch of sky:

http://abload.de/img/ditheringffu1i.gif

The colored and opposite builds show much less noise than the mono one.

James Freeman
22nd February 2014, 07:15
I now see this luma noise difference you were talking about. That said...

oppositeColor was horrible to my eyes, it produces way too much strangely colored chroma noise.

monoColor while it did have the most luma noise, I see this as actually beneficial.



So what we should be aiming for is not crispness, but low noise smoothness.

Well there's you problem.

cyberbeing is taking chroma noise heavily into account, which is pushed to the extreme in 4-bit, and does not translate 1:1 to 8-bit.
Its been said by madshi & other people, you should concentrate on subjective/apparent Smoothness & Noise level, and less on Color...

I would much rather see the dynamic noise than the "dirty screen" effect.
I think I do see a slightly higher noise floor in 8bit with the dynamic builds (at least when using monoColor), and I'm not sure I see the dirty screen effect at 8bit,
so I'm not sure whether the static builds wouldn't be better in 8bit. But in 4bit I definitely prefer the dynamic builds. So I'm still on the fence about whether to use static or dynamic at 8bit.

I have the same thoughts,

Should we fear the Static builds "dirt on screen" effect that much, or will it be insignificant in 8-bit?
The random noise of the dynamic builds helps to cover the 4-bit big step distance to our human eyes thus looking smoother, but will it be that beneficial in 8-bit?

Is the dynamic build worth the extra noise in 8-bit?... That's the question.
In 4-bit, Yes.
In 8-bit, Hmm.

6233638
22nd February 2014, 07:58
Is the dynamic build worth the extra noise in 8-bit?... That's the question.If you can see increased noise in the dynamic builds with 8-bit images (I've still to find any samples where that is the case, rather than noise encoded into the source) then you will be able to see the effects of static dither patterns too.

In the 4-bit builds where the effects of either are clear, dynamic is less harmful to the image than static.
Static dither patterns are very obvious, dynamic adds noise, but blends in with the image more.

I can't think of any reason why that would change as you increase the bit-depth.