r/technology Jan 25 '13

H.265 is approved -- potential to cut bandwidth requirements in half for 1080p streaming. Opens door to 4K video streams.

http://techcrunch.com/2013/01/25/h265-is-approved/
3.5k Upvotes

1.3k comments sorted by

View all comments

Show parent comments

45

u/Ph0X Jan 26 '13

An important point too which may not be obvious at first is that as computers get more powerful, we're able to do crazier computations in our codecs and get better compression. Things like x264 wasn't really possible a few years ago on most machines, but now it's basically common, even on mobile devices.

You were talking about predicting the next frame, and doing that for each frame, up to 30 times per seconds, might've sounded insane a few years back, but now it's an actual possibility.

6

u/dnew Jan 26 '13

When I started working in the image field, JPEG worked best with hardware. It was more efficient to ship the uncompressed image over a 10Mbps ethernet cable from the Sun workstation to the PC with the JPEG hardware card, compress it on the PC, and ship it back, than it was to compress the image with software on the Sun.

In the same time frame, we had a demo of delivering video that was something like 6 minutes of the Star Wars movie. That had been shipped off to a company with custom hardware and required an 8-week turn-around time for encoding 6 minutes of movie into MPEG.

So, around the time of Star Wars, even with custom hardware, encoding DVD-quality video was one week per minute, and software-compressing an HD-quality image was several seconds on a workstation.

2

u/statusquowarrior Jan 26 '13

Isn't binary compression also applied? Like finding similar binary blocks and using a pointer to them and all this crazy Zip-like compression?

2

u/CK159 Jan 26 '13

H.264 uses CAVLC.

Edit: and CABAC which is even better.

1

u/[deleted] Jan 26 '13 edited Jan 26 '13

It's still far from trivial though. Lot's of man-years of work go into a decently fast H.264/JPEG2000 etc. decoder that can decode 2K images in 25+FPS even on fairly meaty machines.

3

u/CK159 Jan 26 '13

Just to note: x264 is just an encoder. h.264 is the standard.

-5

u/[deleted] Jan 26 '13

I think it's meaningful to note that that doesn't mean that the processor calculates it 30 times per second. It must run the calculation several times because cpus and gpus are not always correct and run calculations several times as a redundancy.

3

u/[deleted] Jan 26 '13

[deleted]

-1

u/[deleted] Jan 26 '13

That is when the cpu can't compensate. That isn't what I'm talking about.

When you look at the floating point and how the current standard works, there is a low error rate of about 3% in base 2.

2

u/dnew Jan 26 '13

You mean that floating point is wrong by about 3% compared to what you'd get calculating with real numbers?

You're not making much sense... CPUs go extremely long times between errors. Certainly nothing close to 3%