|
|
Hi all,
Here's my S-Curve Matrix.
Because it was designed with very specific goals, it might not be suited to all encodes. However, IMHO, it is much better than H.263, and, is some cases, better than HVS Best.Code:
KR's S-Curve Cstm Matrix
------------------------
Intra Matrix:
8 9 11 13 14 15 16 169 11 13 14 15 16 16 17
11 13 14 15 16 16 17 19
13 14 15 16 16 17 19 23
14 15 16 16 17 19 23 32
15 16 16 17 19 23 32 48
16 16 17 19 23 32 48 64
16 17 19 23 32 48 64 128Inter Matrix:
8 9 11 13 14 15 16 169 11 13 14 15 16 16 17
11 13 14 15 16 16 17 19
13 14 15 16 16 17 19 23
14 15 16 16 17 19 23 32
15 16 16 17 19 23 32 48
16 16 17 19 23 32 48 64
16 17 19 23 32 48 64 128
You are welcome to give me your impressions concerning the quality of the video when using this matrix (please specify the other XViD settings you used).
Why don't you describe, what your specific goals were?
Clock
Your matrix is incompatible with ESS chips based standalones.
However here's the XVID loadable file: KR%20S-curve.xcm
KR:
That should be a good one indeed. Distribution is fine. *thumbs up*
What did you have in mind? Animee/Cartoon? Underwater? Fog amp; Co.?Sharktooth:
Who cares about premature standalone-support of mpeg-4? They claim to be the golden solution, but cannot decode quot;thisquot;, have problems with quot;thatquot;, ultimately require quot;sth otherquot;, ... ...
/*me makes a tired face*/
Okay, they are getting better amp; better, but still I don't spend the slightest thought about mpeg-4 on standalones. Perhaps in a year or so ... but by then, the game will just start all over again with mpeg-4 AVC ...
/*me makes an even more tired face*/- Didée
Well, Dideè, i thought it was kind to inform KR and the potential users that the matrix is not compatible with ESS chipsets.
That doesnt mean i dont appreciate the matrix or the time KR spent on it. It was only a remark. That's all.
Sharktooth, I wasn't criticising you in any way, or something. Just wanted to express the /*tired face*/ I get as soon as the talk comes to standalones. That's all
- Didée
Well standalones are still quot;rawquot;. I prefer my modded xbox that plays all my encodes i've done with your 6of9 matrix
Concerning the incompatibility with ESS standalones, thanks for telling. However it was not one of my goals. I only use XViD on my computer, and if I want to watch a video on the TV, I use TV-OUT of my video card. But I suppose it is important for other users.
Goals:
I wanted a matrix which, as a general purpose one, would be better than H.263 (I hate blurriness !), and one for which quality would dramatically decrease starting from mid-frequencies, but following an S-Pattern (based on a repetition of the quot;x 2quot; operation, with an doubling of the distance and linear interpolation to fill the blanks, and mirrored at the center of the matrix) which, I thought, would theorically be more adapted to HVS than a simple broken linear quot;curvequot;. Above all, it had to be adapted to my tastes (hard to describe), and the 128 for the high frequencies might prevent encoding noise.
I haven't done any testing on anime. If someone does, please tell me your results.
Why do many people make the Inter matrix different than the Intra matrix ? I-Frame quant boost could be used (something I don't even do), but why change the matrix distribution for inter frames ?
Is an asymetrical matrix better than a similar symetrical one
I had wanted to as a similar question.
When looking at different matrices i notice that some (like the KS matrix) have constant values in diagonals/rows from upper right to lower left, whereas others exhibit different patterns. I assume the latter would be called asymetric.
Now is there a specific goal to be achieved (maybe 'finetuning') with an asymetric matrix ?
nanga
nanga parbat:
Is an asymetrical matrix better than a similar symetrical one ?
I just deleted that part from my post because I think I have found an answer to my question. Note however that I may be wrong.
I think it could be useful if someone encodes something that had non-square pixels. In that case, that person may want horizontal frequencies to be more preserved than vertical frequencies, for example, and to do so, one needs to modify the matrix. That way, something that had non-square pixels can be encoded with square pixels, preserving the vertical/horixontal quality ratio and adjusting picture aspect ratio at the end for proper playback.
Still, if that was the reason, I wouldn't see the point of using asymetrical matrices for quot;normalquot; encodes. Another possibility is to finetune the matrix to the Human Visual System. Perhaps we percieve certain patterns better in one direction than in another.
A third possibility, one that makes more sense, is to adjust the matrix to a specific source. For example, if you know that the source's horizontal frequency content his higher than the vertical one, you can adjust the matrix accordingly. If this is the reason, then a general-purpose matrix could be built that would be statistically adapted to fit with the highest number of situations.
Originally posted by KR
Why do many people make the Inter matrix different than the Intra matrix ? I-Frame quant boost could be used (something I don't even do), but why change the matrix distribution for inter frames ?The quality of I-Frames is really important in MPEG4 codecs. A better I frame usually means better P and B frames...
Originally posted by KR
A third possibility, one that makes more sense, is to adjust the matrix to a specific source. For example, if you know that the source's horizontal frequency content his higher than the vertical one, you can adjust the matrix accordingly. If this is the reason, then a general-purpose matrix could be built that would be statistically adapted to fit with the highest number of situations.
Exactly what i'm trying to do
The interpolation is rounded along a HVS curve and not a simple quot;x2quot;.
However there are opposing theories about HVS so im still in the quot;guess what's bestquot; phase.
Read my post for some more infos.
showthread.ph...0amp;pagenumber=4
I think it could be useful if someone encodes something that had non-square pixels
Ah yes, i already thought about something like this.Thanks!
Gave it a try and did a full encode of Pirates of the Caribbean with it. Comparing it to the same encode w/ HVS Best..hmm, hard to tell which is better Both still have some annoying blocks in certain dark areas, but obviously not as apparant as the concert issue I had from earlier.
The matrix numbers refer to frequency, not lightness. So your problem isn't related to my matrix or HVS.
I bet Adaptative Quantization was enabled. Disable it and you'll get a higher quality video.
KR, that statement is not fully true. It is to 2/128 ~ 1.56% false.
The DC components actually are coding the average luma [difference, for P's amp; B's] value of a block.
Therefore it *could* be beneficial for dark movies to use a matrix where the 3 or 4 upmost-leftmost cells have exclusively reduced values.
- Didée
Originally posted by KR
I bet Adaptative Quantization was enabled. Disable it and you'll get a higher quality video.
This statement isn't universally true, either. Can be true for movies with lots of dark blue (LIKE Pirates of the Carribean) but for most movies it'll help quality. Your advice for this movie is correct though.
Originally posted by Teegedeck
This statement isn't universally true, either. Can be true for movies with lots of dark blue (LIKE Pirates of the Carribean) but for most movies it'll help quality. Your advice for this movie is correct though.
Hmm, thanks for the suggestion. KR and Didée as well When I have time I'll will try messing with these settings Yes, I did have adaptive quantization enabled for this encode. However, with the concert from before, I did not use adaptive quantization.
@Sharktooth
i seem unable to get KS's XCM from your site as well as your own EQM XCMs
Is the site gone for good, only temp down or is it maybe only a hiccup of my own connection?
[edit] OK, i helped myself. KR_S-Curve.xcm 'mirror'
Uhm, i missed this one...
It was a temporary downtime. |
|