Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analyzing images #35

Open
wbd73 opened this issue Jan 13, 2022 · 0 comments
Open

Analyzing images #35

wbd73 opened this issue Jan 13, 2022 · 0 comments

Comments

@wbd73
Copy link

wbd73 commented Jan 13, 2022

I tried to analyze both "images" and "images-lance" to see what operation works best for a given number of bits using two different prediction methods.

 B
Ax

A ; take the difference from the current pixel and the previous one.
(A+B)/2 ; take the difference from the current pixel and the rounded average of the pixels left and above the current one.

To make things easier I discarded the top row and left column of every image so pixels A and B are always available.
I guess discarding that little information shouldn't have a significant impact on the results.
I also discarded all pixels equal to the one at the left of the current pixel since a run operation takes care of those.
For the remaining pixels I counted what percentage of those pixels would be covered by a specific operation if it were the only operation that would be used.
The alpha channel was ignored.

My conclusion is that for any given number of bits, luma always worked better as diff for these specific image collections and in general the second prediction method works better compared to the first one.
Analyzing the pictures on my computer (mainly images taken with a digital camera) confirms this conclusion.

See the attached files for the data as a .csv file.
Column 1 : total bits used
Column 2 : prediction method
Column 3 : operation that was used
Column 4 : percentage covered

Maybe this information helps to decide which operations to select.

images-lance.csv.txt
images.csv.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant