Closed jakepruitt closed 8 years ago
I can work on part one, will you be online to discuss it? On Oct 28, 2015 1:19 PM, "SreeniASU" notifications@github.com wrote:
Hello,
I have talked with the TA and our Task 1 has to be redesigned as per our new understanding. If anyone is willing to take Task1, please let me know. Otherwise I will redesign it.
I showed him the output of Task2 and he has asked me to make some changes which I will be doing in the next half an hour.
@James:- For Task 3, option 1, there is nothing much to do. It is same as the output we obtain from Task 1 or Task 2.
Thanks Sreenivas
On Tue, Oct 27, 2015 at 10:30 PM, Sreenivas Shenoy spsheno1@asu.edu wrote:
A final version of Task 2 is on Git. If you guys can have a look on it, it would be great. I feel it works fine. :) I shall go to TA to clarify Task 3 part 1 and the approach of Task 1.
On Tue, Oct 27, 2015 at 8:56 PM, James notifications@github.com wrote:
Jake, Gabriel and I have finished Option 2 of Part 3, it is now available in the repo. We are waiting for more clarification on option 1. Part 3 contained a lot of functionality we can re-purpose for Part 5, so that should make it a little easier as well. Gabriel also did a good amount of the heavy lifting for Part 4, we will be getting together tomorrow to check that out. As Sreenivas mentioned Part 1 needs to be revisited. We will be doing that soon hopefully, Derek if you're available maybe you could possibly take a look at it?
— Reply to this email directly or view it on GitHub < http://t.sidekickopen23.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XYg7fRDp-W7fZvhd1pNkL0Vd76_W56dF2mf3wllzH02?t=https%3A%2F%2Fgithub.com%2FSreeniASU%2Fmultimedia-information-systems%2Fissues%2F2%23issuecomment-151715322&si=6390835194626048&pi=d29a6cb3-1ab0-48bd-c5ee-e1a343f14820
.
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-151977981 .
Sreeni, I had already implemented Shannon-Fano and LZW algorithms. I was planning on start to think how I was going to implement the arithmetic coding algorithm today or tommorow(I have to submit a lab to another class by tommorow, that's what is slowing me right now). So, you can leave that part for me, if you want. That is up to you.
Great going Gabriel. Let me start with the documentation for Part 2 then.
On Wed, Oct 28, 2015 at 2:37 PM, GCrispino notifications@github.com wrote:
Sreeni, I had already implemented Shannon-Fano and LZW algorithms. I was planning on start to think how I was going to implement the arithmetic coding algorithm today or tommorow(I have to submit a lab to another class by tommorow, that's what is slowing me right now). So, you can leave that part for me, if you want. That is up to you.
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152001309 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
If anyone is around and able to work on this I will be in this chat room:
https://hangouts.google.com/call/jgwknpgb5jq5nkr5iacfv3taiua
Hey guys. I just pushed my current progress. The details of it are all commented on the latest commit.
I plan on working on part of task 5 starting around 2 am, specifically taking the file generated from Task 1 or 2 and try to convert it to a video. If anyone has started working on this let me know, so we can avoid working on the same things. I also added to the report. @GCrispino can you fill in information about Task 4?
Just to keep you guys informed, I just pushed a small update to task IV. Now arithmetic coding is able to encode and decode correctly, but it still have a problem: the higher the to-be-encoded string is, the higher is the number of multiplications and arithmetic operations with very large precision floating point numbers, so the algorithm gets pretty slow for larger strings. For simple test strings, though, it works perfectly. And Derek, as for adding task IV to the report, I can start on working on that tomorrow.
Hello All,
I was going through the code for Part1, and one of the observations I made is,
1) We need to output the total absolute error. 2) For option 1, i.e No PC , the total absolute error should be 0. 3) But based on our logic, the total absolute error will be the sum of all the pixel values which should not be the case.
Can someone please fix it? I am not touching the code as I feel, those who have worked on it can fix it faster compared to me.
Cheers Sreeni
On Fri, Oct 30, 2015 at 12:25 AM, GCrispino notifications@github.com wrote:
Just to keep you guys informed, I just pushed a small update to task IV. Now arithmetic coding is able to encode and decode correctly, but it still have a problem: the higher the to-be-encoded string is, the higher is the number of multiplications and arithmetic operations with very large precision floating point numbers, so the algorithm gets pretty slow for larger strings. For simple test strings, though, it works perfectly. And Derek, as for adding task IV to the report, I can start on working on that tomorrow.
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152448736 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
I can check it around 12 On Oct 30, 2015 5:10 PM, "SreeniASU" notifications@github.com wrote:
Hello All,
I was going through the code for Part1, and one of the observations I made is,
1) We need to output the total absolute error. 2) For option 1, i.e No PC , the total absolute error should be 0. 3) But based on our logic, the total absolute error will be the sum of all the pixel values which should not be the case.
Can someone please fix it? I am not touching the code as I feel, those who have worked on it can fix it faster compared to me.
Cheers Sreeni
On Fri, Oct 30, 2015 at 12:25 AM, GCrispino notifications@github.com wrote:
Just to keep you guys informed, I just pushed a small update to task IV. Now arithmetic coding is able to encode and decode correctly, but it still have a problem: the higher the to-be-encoded string is, the higher is the number of multiplications and arithmetic operations with very large precision floating point numbers, so the algorithm gets pretty slow for larger strings. For simple test strings, though, it works perfectly. And Derek, as for adding task IV to the report, I can start on working on that tomorrow.
— Reply to this email directly or view it on GitHub < https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152448736
.
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152677054 .
Hey everyone. Just so you know, I have just pushed an updated version for task 4. The program is now already able to read a file, encode it and output the encoded data to a text file. The problem is that LZW algorithm, when decoding, always miss the last part of the data(the last frame loses some information), I don't know why. When I did the tests with some strings, it worked perfectly.
The other problem is that Arithmetic coding is reaaaaaaaaly slow(since the input is not that small as a test string, but it has worked perfectly for small inputs), and it requires some VERY large precision numbers to work, which has been kind of an issue(I am using the decimal module of python, which supports very large precision numbers, but it is still not enough).
And about Shannon-fano algorithm, it is working perfectly, as far as I tested.
@SreeniASU , PC1 is a special case, and we did not calculate the error for it, we just output a message that the error is 0, but for PC2-4, those should be correct. The values sent to the file for each pixel after the initial value is the error frameError += abs(values[i][j]) -> is inside the writeToFile method.
I'm not sure if we have to do the absolute value as trying to rebuild the data will result in increasing large values and thus an increasingly darker video since we are operating on the y channel. No?
On Oct 31, 2015, at 2:15 AM, Derek notifications@github.com wrote:
@SreeniASU , PC1 is a special case, and we did not calculate the error for it, we just output a message that the error is 0, but for PC2-4, those should be correct. The values sent to the file for each pixel after the initial value is the error frameError += abs(values[i][j]) -> is inside the writeToFile method.
— Reply to this email directly or view it on GitHub.
The errors in the file are not absolute values, but the number logged by PC that describes the aggregate error of the entire coding process should be in absolute terms.
Hey guys,
Well, I am running through some issues.
First, earlier today I talked to the TA about some doubts I was having about the encoding. In all encoding algorithms I implemented I used an auxiliar dictionary to encode and to decode, even in the algorithms that are not dictionary based like LZW. So, for the encoding part, I was thinking about outputing, along with the binary encoded data, a dictionary, so that the decoder will be able to map the codes to the actual values, decoding it to the original values. So, I asked the TA if there is a problem in doing that. He said that it would not be a correct implementation of a dictionary based coding algorithm(like LZW) to output the dictionary along with the encoded data. I realized, then, that my implementation of LZW is partially wrong, since it depends on a dictionary. The correct implementation would be to recreate a new dictionary at the time of decoding.
That got me thinking if using a dictionary for non-dictionary-based algorithms would be correct, because that would be a problem, since that it was the way I was implementing the other algorithms(Shannon-Fano and Arithmetic Coding). I think I'll send another email to Yash asking that.
The other problem is that arithmetic coding is being very troubling. As I already said, it works perfectly for encoding small strings, but when used to encode a larger text file, as the ones we get from our program, it takes too long, and ends up getting an overflow error or something similar, because it works with very large precision number.
By the way, I started working on the report.
That's it. I don't know if my part will be 100% complete due to these issues. I am really sorry for messing some stuff up.
Hey guys, who all is online right now? Would we like to get together and talk about what still needs to be done?
I'm online now, I'll push my code and ping you for a call
Need to run to lunch, so I'll just summarize where I am:
python toVideo.py [path/to/file.tpc]
and it will output a .avi
video file.My next steps are to create a script that handles quantized data (shouldn't require any changes), and a script that decodes @GCrispino's outputted files. We're going to daisy-chain back to the videos then based on the options of each step. If other people could work on the paper while I figure out these last parts, that would be really appreciated. I think I will be changing the folder structure later to make running these scripts one after the other much easier, so I can add the section on how to run the code when I've finished that.
Running to lunch now, ping me if you have questions!
I'll take a look at the report and see if I can add more information. When we are finished I'd like to transfer it to a word doc and fix a lot of the formatting, google docs has some pretty poor support for that.
Hi guys, I would like to clarify some stuff. One of the things that are asked on task IV is the encoded file size. Well, since I am not really compressing the file(I am outputing the encoded bits to a file, but as a string, not as actual bits), the file actually gets bigger than the original. So, I am displaying the file size as if it its bits were really the bits on the string it contains, plus the size of the dictionary contained(this dictionary is supposed to be used by the decoder) in it. I am doing it because I think that makes more sense, for comparation purposes.
So, to get the file size, I get the length of the binary string, divided by 8(to get the file size in bytes), plus the size of the outputed dictionary(this one is not divided by 8 because it is not a binary string). Do you agree with that approach? Or you think it is inappropriate
Other thing that is asked on part IV is to calculate the distortion(signal-to-noise ratio) between the original video and the encoded video. I did not exactly understand it. That is, at least in my understanding, to get the distortion, you would need the original data and the reconstructed encoded data. But shouldn't we first decode the encoded data, then calculate the distortion? Or can we do it with the encoded data? Do some of you know it?
I think the approach for finding the size of the encrypted file is right. Let me do some research on calculating the SNR. If I find something will let you know.
On Sun, Nov 1, 2015 at 4:10 PM, GCrispino notifications@github.com wrote:
Hi guys, I would like to clarify some stuff. One of the things that are asked on task IV is the encoded file size. Well, since I am not really compressing the file(I am outputing the encoded bits to a file, but as a string, not as actual bits), the file actually gets bigger than the original. So, I am displaying the file size as if it its bits were really the bits on the string it contains, plus the size of the dictionary contained(this dictionary is supposed to be used by the decoder) in it. I am doing it because I think that makes more sense, for comparation purposes.
So, to get the file size, I get the length of the binary string, divided by 8(to get the file size in bytes), plus the size of the outputed dictionary(this one is not divided by 8 because it is not a binary string). Do you agree with that approach? Or you think it is inappropriate
Other thing that is asked on part IV is to calculate the distortion(signal-to-noise ratio) between the original video and the encoded video. I did not exactly understand it. That is, at least in my understanding, to get the distortion, you would need the original data and the reconstructed encoded data. But shouldn't we first decode the encoded data, then calculate the distortion? Or can we do it with the encoded data? Do some of you know it?
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152872913 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
Sorry for the typo. I meant, encoded file size.
On Sun, Nov 1, 2015 at 4:26 PM, Sreenivas Shenoy spsheno1@asu.edu wrote:
I think the approach for finding the size of the encrypted file is right. Let me do some research on calculating the SNR. If I find something will let you know.
On Sun, Nov 1, 2015 at 4:10 PM, GCrispino notifications@github.com wrote:
Hi guys, I would like to clarify some stuff. One of the things that are asked on task IV is the encoded file size. Well, since I am not really compressing the file(I am outputing the encoded bits to a file, but as a string, not as actual bits), the file actually gets bigger than the original. So, I am displaying the file size as if it its bits were really the bits on the string it contains, plus the size of the dictionary contained(this dictionary is supposed to be used by the decoder) in it. I am doing it because I think that makes more sense, for comparation purposes.
So, to get the file size, I get the length of the binary string, divided by 8(to get the file size in bytes), plus the size of the outputed dictionary(this one is not divided by 8 because it is not a binary string). Do you agree with that approach? Or you think it is inappropriate
Other thing that is asked on part IV is to calculate the distortion(signal-to-noise ratio) between the original video and the encoded video. I did not exactly understand it. That is, at least in my understanding, to get the distortion, you would need the original data and the reconstructed encoded data. But shouldn't we first decode the encoded data, then calculate the distortion? Or can we do it with the encoded data? Do some of you know it?
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152872913 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
@SreeniASU Ok, thank you. I did some minor research, but what I found don't have much details, so I thought that maybe some of you maybe would know that.
Hello is anyone updating the task 5 on the report? I guess that is the only part left.
On Sun, Nov 1, 2015 at 4:27 PM, GCrispino notifications@github.com wrote:
@SreeniASU https://github.com/SreeniASU Ok, thank you. I did some minor research, but what I found don't have much details, so I thought that maybe some of you maybe would know that.
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152875817 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
I'll jump on that @SreeniASU, thanks for all of the help on the report!
Thanks for everyone's help this week! Everyone put in a huge effort, and it was really appreciated.
Since we were unable to finish arithmetic and LZW decoding until after midnight last night, and the report still was not finished, we missed the deadline, which I believe will dock us 5 points. I've finished up some documentation, and aggregated all of the steps of coding, quantizing and compressing into one encode.py
script, with plenty of instructions for the graders to test our code.
@SreeniASU, since we are going to be losing some points for lateness, and we have another day to work, do you think it would be possible to implement the extra credit portion of part 2? I know we are just setting alphas to 1/3 for the entire algorithm, but it might be worth the 5 points now to figure out how to dynamically adjust that. Even if it's not perfect, it could still provide for good material for the report and partial extra credit.
I am afraid whether I will be able to work on this today as am submitting a paper to a Journal with a tight deadline. I assure I can put more effort on third phase of the project as I will be free after this week. I am really sorry about it.
On Mon, Nov 2, 2015 at 4:02 AM, Jake Pruitt notifications@github.com wrote:
Thanks for everyone's help this week! Everyone put in a huge effort, and it was really appreciated.
Since we were unable to finish arithmetic and LZW decoding until after midnight last night, and the report still was not finished, we missed the deadline, which I believe will dock us 5 points. I've finished up some documentation, and aggregated all of the steps of coding, quantizing and compressing into one encode.py script, with plenty of instructions for the graders to test our code.
@SreeniASU https://github.com/SreeniASU, since we are going to be losing some points for lateness, and we have another day to work, do you think it would be possible to implement the extra credit portion of part 2? I know we are just setting alphas to 1/3 for the entire algorithm, but it might be worth the 5 points now to figure out how to dynamically adjust that. Even if it's not perfect, it could still provide for good material for the report and partial extra credit.
— Reply to this email directly or view it on GitHub https://github.com/SreeniASU/multimedia-information-systems/issues/2#issuecomment-152988744 .
Sreenivas P Shenoy M.S. Computer Science & Engineering Arizona State University, spsheno1@asu.edu Cell 480-738-3280
From @ApertureTS:
I am in full favor of doing this split. I personally would like to work on part 1, but am willing to change parts as needed. Which parts would you like to take on, @SreeniASU @ApertureTS, @Perryo, @GCrispino?
Project requirements can be found at https://github.com/SreeniASU/multimedia-information-systems/blob/master/docs/project1f15.pdf