Log in

View Full Version : Deliberately Terrible Compression


KasparHauser
18th December 2008, 22:23
First of all, I'd like to say thank you to the community at large - I've learned pretty much all I know about compression from this forum and I appreciate the enormous amount of time people here devote to helping out all the newbies like me.

Recently I've become really interested in "painting" with compression. By compressing bad source, encouraging generational artifacts and other methods I've created some interesting effects, but nothing I think has been really successful. There's an artist named Takeshi Murata who does incredible work and I've been trying to figure out how. Here's an example of his footage (http://www.youtube.com/watch?v=gVdpiq4lS0o).

My first assumption was that he was simply choosing his source footage really carefully and then encoding it with few to no I or P frames and minimal scenecut detection. I tried this out and did get /some/ smearing, but nothing as colorful as what he created. This may be due to my source footage not being crappy enough, or perhaps the wrong codec. I can't tell what he's using, but it looks more like Xvid to me than anything else.

If anyone has ideas, I'd love to hear them. Thanks!

Dark Shikari
18th December 2008, 22:42
You could also modify the encoder to intentionally make awful decisions... :D

KasparHauser
18th December 2008, 22:50
Oh! Not being much of a hacker I hadn't thought about that. Do you think that's what Murata has done (among other things)?

Ajax_Undone
19th December 2008, 01:03
Wow I am impressed I thought encoding couldn't get any worse then this comes up... Again I say wow...

You could try encoding at a super low bitrate if your looking to duplicate his results... Maybe M$ asf

KasparHauser
19th December 2008, 01:14
Thanks Ajax, I'll try it out. I don't fully understand "M$ asf"... could you help me out there?

Ranguvar
19th December 2008, 02:31
Try going crazy with x264's psychovisual options, and playing with deblocking.

Ajax means Microsoft's ASF format. http://en.wikipedia.org/wiki/Advanced_Systems_Format

Thanks for the link, looks very intriguing :)

Blue_MiSfit
19th December 2008, 04:43
I really like Murata's work!

Amazing stuff.

~MiSfit

Wombler
19th December 2008, 12:12
First of all, I'd like to say thank you to the community at large - I've learned pretty much all I know about compression from this forum and I appreciate the enormous amount of time people here devote to helping out all the newbies like me.

Recently I've become really interested in "painting" with compression. By compressing bad source, encouraging generational artifacts and other methods I've created some interesting effects, but nothing I think has been really successful. There's an artist named Takeshi Murata who does incredible work and I've been trying to figure out how. Here's an example of his footage (http://www.youtube.com/watch?v=gVdpiq4lS0o).

My first assumption was that he was simply choosing his source footage really carefully and then encoding it with few to no I or P frames and minimal scenecut detection. I tried this out and did get /some/ smearing, but nothing as colorful as what he created. This may be due to my source footage not being crappy enough, or perhaps the wrong codec. I can't tell what he's using, but it looks more like Xvid to me than anything else.

If anyone has ideas, I'd love to hear them. Thanks!

That looks more like sophisticated image processing than purely severe compression to me.

It appears as if he's dynamically and selectively adjusting the pixelation in patterns and also dynamically adjusting the colours.

No idea how you'd achieve this but I suspect it's a lot more work than you'd assume.


Wombler

JonE
19th December 2008, 13:37
Yep, I rekon definately a case of image processing and not compression induced.

Kinda reminds me of the crazy images you used to be able to get by pointing a camera at a monitor that was displaying the camera's output.

TTFN,
Jon

maknapper
19th December 2008, 16:57
Wombler may me correct, but AVS video converter has an array of editing effects such as Gamma saturation, Color saturation, Tempature, Embossing... ad nuaseum as well as the ususal conversion of file types. NERO, 7 and up also offers some of the saturation and compression choices that might get close this result. Try overdriving the color if you have any such programs, then squish it down to a flash file and convert back to .avi. I once created a file that looked just that bizzare by accident, but in my frustration I I did not know I had created artwork:D

Ranguvar
19th December 2008, 23:20
If you want insane funky effects, nothing but AviSynth will do, no need for AVS or Nero, etc. ;)

Try giving random filters insane options.

Dark Shikari
19th December 2008, 23:27
If you want insane funky effects, nothing but AviSynth will do, no need for AVS or Nero, etc. ;)

Try giving random filters insane options.You mean like this?

http://i43.tinypic.com/14t31ad.jpg

Ranguvar
19th December 2008, 23:32
Is that actually the same source? Wicked, I didn't know WarpSharp could make such a pronounced effect.

Dark Shikari
19th December 2008, 23:33
Is that actually the same source?Indeed.

olyteddy
21st December 2008, 03:45
I've done that kind of stuff using video production switchers and delay lines and feed back. Fun stuff when I was the engineer at the local Public Access TV station...

sumawo13
22nd December 2008, 20:00
You mean like this?

http://i43.tinypic.com/14t31ad.jpg

I think I broke it.

http://i74.photobucket.com/albums/i258/PC3200/starshiptrooperswarpsharpgoof.png

Daiz
23rd December 2008, 11:42
You haven't seen true filtering until you have tried HaloMaker3000Deluxe()!

http://img1.hugeup.com/f/12042008/be00bb5252a.jpg

MysticE
25th December 2008, 19:45
You could use this as a starting source:

http://www.soundspectrum.com/g-force/?src=MSFT_windowsmedia

Zarxrax
27th December 2008, 19:14
Encode the video and then corrupt or somehow delete the data for an I frame.
I don't know any easy way of doing this, aside from downloading a file through a torrent, and only letting it finish about 50%.

Sagekilla
27th December 2008, 20:46
Another way is to a feedback loop consisting of:

Source with blurring/deblocking/smearing (avisynth)
encode from source and output as the input to the source.avs file using crappy settings (qp 35 anyone?)
Rinse, repeat.

chornobyl
27th December 2008, 23:03
Encode the video and then corrupt or somehow delete the data for an I frame.
I don't know any easy way of doing this, aside from downloading a file through a torrent, and only letting it finish about 50%.
I think i do know how to do this stuff. Firs of all take some file(avi for example) encoded with some modern codec, and mark all frames as keyframes. Then play from arbitrary position back and forth. With rare keyframes this works much more interesting.

Zarxrax
28th December 2008, 04:33
Firs of all take some file(avi for example) encoded with some modern codec, and mark all frames as keyframes.
How would one go about doing this?

chornobyl
28th December 2008, 18:05
I know this isnt too smart but: i open file with VirtualDub, in import file dialor set RederiveKeyframes and change fourcc to something stupid like cvid(cinepak). Then change fcc back to "true" codec.
Also its possible to edit index with hexedit but i dunno how to do that.
Found that with x264vfw result is not impressive(it often outputs black screen with such totrures), wmv or xvid gives better result

Zarxrax
29th December 2008, 21:50
Costs money, but: http://www.digieffects.com/products/damageintro.html

sumawo13
29th December 2008, 23:05
I compressed part of a DVD in MeGUI to x264 using RAWAVC and made an Avisynth script to open the resulting .264 stream in VirtualDub using FFmpegSource(). When I seek in VirtualDub I get the desired effect, however, when I compress it looks fine.

Zarxrax
30th December 2008, 02:29
I was just messing around in a hex editor and managed to get the desired effect pretty well. Basically first of all just cut the clip down so it is only the part you want. Then I opened it up in a hex editor, found the data relating to the first frame, and overwrote parts of it.
This hex editor works quite well: http://www.gero-net.de/avihex/
It has a function to jump to the beginning of an avi file.

Shinigami-Sama
30th December 2008, 10:50
I know this isnt too smart but: i open file with VirtualDub, in import file dialor set RederiveKeyframes and change fourcc to something stupid like cvid(cinepak). Then change fcc back to "true" codec.
Also its possible to edit index with hexedit but i dunno how to do that.
Found that with x264vfw result is not impressive(it often outputs black screen with such totrures), wmv or xvid gives better result

this is because AVC does not belong together with VFW

also I second the hex editor
they're always a good option

Reimar
30th December 2008, 18:58
Additional options are using a fuzzer to damage the file, e.g. http://caca.zoy.org/wiki/zzuf which you can use to help at the same time fixing bugs. Keep in mind that different decoders will treat damaged files very differently.
Another well-know issue that can be used is non-matching idcts for en- and decoding or disabling the inloop filter for H.264 (once saw a video where this caused the sky to go pink...)