Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Google Graphics Media The Internet News

Google Submits VP8 Draft To the IETF 156

An anonymous reader writes "Google has submitted an Internet Draft covering the bitstream format and decoding of VP8 video to the Internet Engineering Task Force. CNET's Stephen Shankland writes, 'Google representatives published the "VP8 Data Format and Decoding Guide" at the IETF earlier this month, but that doesn't signal standardization, the company said in a statement. The document details the VP8 bitstream — the actual sequence of bytes into which video is encoded. "We submitted the VP8 bitstream reference as an IETF Independent RFC [request for comments] to create a canonical public reference for the document," Google said. "This is independent from a standards track." The IETF document could help allay one concern VP8 critics have raised: that VP8 is defined not by documentation of the bitstream but rather by the source code of the software Google released to implement VP8. But the IETF document still plays a subordinate role to that source code.'"
This discussion has been archived. No new comments can be posted.

Google Submits VP8 Draft To the IETF

Comments Filter:
  • Venue choice? (Score:4, Interesting)

    by Compaqt ( 1758360 ) on Saturday January 22, 2011 @09:31AM (#34964740) Homepage

    Is there any significance to the fact that Google chose IETF instead of ISO (where MPEG-LA and M$ submitted H.264 and OOXML)?

    • Ok I just posted below a similar question, and checking out wikipedia seems to imply that they work with ISO:

      The Internet Engineering Task Force (IETF) develops and promotes Internet standards, cooperating closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of the TCP/IP and Internet protocol suite.

      So is this ment to bypass the ISO standardisation, and get it put straight in an ISO standard? That's a pretty imaginative way to play the game, kudos to them.

      In a way, they

      • by node 3 ( 115640 )

        So is this ment to bypass the ISO standardisation, and get it put straight in an ISO standard? That's a pretty imaginative way to play the game, kudos to them.

        No, they did this because it's much easier to put out an IETF RFC than it is to make an actual ISO standard. In terms of anything resembling an actual, official standard, Google is starting from a very weak position with regards to WebM. By going through the IETF, they can try to make WebM actually appear as though it's an open standard, whereas H.264 actually is an open standard.

        Also, stating that the IETF cooperates closely with the ISO does not imply that creating an IETF standard somehow grants ISO stan

        • To head off the inevitable dispute over h264 being an open standard: It's open in the sense that it's entirely documented and you can easily look up a specification that details everything about h264, in sufficient detail to write your own encoder or decoder. It's not open in the sense that you can't acually write either of these, as much of the vital mathematics required are subject to patents. So it depends if you consider 'open' to mean access to the specification, or the legal right to use that access.
          • by node 3 ( 115640 )

            Pretty spot on except for:

            It's not open in the sense that you can't acually write either of these [encoder and decoder], as much of the vital mathematics required are subject to patents.

            That is false. You can write both of these. You just have to license the patents, which is openly available to all parties.

            and:

            So it depends if you consider 'open' to mean access to the specification, or the legal right to use that access.

            Anyone can buy the legal right to use that access. H.264 is the very definition of an open standard (while WebM is not). It's just an example of one that is patented.

            You're right that patents limit the ability to completely freely use H.264, but no one is stopped from licensing those patents. They are openly available to one and all.

        • by macshit ( 157376 )

          Also, stating that the IETF cooperates closely with the ISO does not imply that creating an IETF standard somehow grants ISO standard status.

          Indeed. But the notion that a standard must be from ISO to "count", is of course incorrect -- the canonical example being TCP/IP, which utterly trounced the competing ISO-standardized protocols.

          • by tyrione ( 134248 )

            Also, stating that the IETF cooperates closely with the ISO does not imply that creating an IETF standard somehow grants ISO standard status.

            Indeed. But the notion that a standard must be from ISO to "count", is of course incorrect -- the canonical example being TCP/IP, which utterly trounced the competing ISO-standardized protocols.

            It trounced on technical superiority. There goes your example. WebM is technically inferior to H.264.

    • Re:Venue choice? (Score:5, Informative)

      by arivanov ( 12034 ) on Saturday January 22, 2011 @09:45AM (#34964800) Homepage

      Yes there is. Read on the MSFT XML history of going through ISO. It says all that there is to be said about ISO certification.

      IETF may have its own politics (same as any standards body). However, out of all standards bodies it is the one which is probably the least corrupt.

    • Re:Venue choice? (Score:5, Informative)

      by msauve ( 701917 ) on Saturday January 22, 2011 @09:49AM (#34964824)
      Well, let's see. The ISO has OSI-IP, IDRP, IS-IS, CMIP, X.400, X.500, etc. The IETF has TCP/IP, BGP, OSPF, SNMP, SMTP, LDAP, etc.

      I think it's pretty clear why they created an IETF RFP.
      • by cooldev ( 204270 )

        IETF also has items like RFC1149: A Standard for the Transmission of IP Datagrams on Avian Carriers

        In other words, there is no filter; it seems anyone can submit anything to the IETF. My main concern over the WebM "specification" is best summarized by by the great analysis at http://x264dev.multimedia.cx/archives/377 [multimedia.cx]:

        But first, a comment on the spec itself.

        AAAAAAAGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!

        The spec consists largely of C code copy-pasted from the VP8 source code -- up to and including TODOs,

        • IETF also has items like RFC1149: A Standard for the Transmission of IP Datagrams on Avian Carriers

          So the fact that the IETF RFC's have a history of April Fools jokes makes it bad? Perhaps they see the date and allow it because it's a good April Fool's joke. It's also amusing that you chose that one because someone actually did implement it :). Had a latency of 56 minutes if i remember.

    • Re:Venue choice? (Score:5, Informative)

      by TheRaven64 ( 641858 ) on Saturday January 22, 2011 @10:10AM (#34964926) Journal

      IETF RFCs are just that - requests for comments. Anyone can publish one. The IETF assigns them a number, and they are public, but that's all. The IETF does not necessarily endorse them, they just publish them so that they can get feedback.

      Within the set of RFCs there are some that are designated 'standards track'. These are ones that will eventually become IETF-endorsed standards. Most Internet-related standards are defined by a set of standards-track RFCs. These have a number of requirements, such as being free to implement (no known lurking patents) and having two existing, interoperable, independent implementations.

      In contrast, some are informational RFCs, which basically just document existing practice. A company often releases one of these to let everyone else know what they are doing. It's basically a central location for publishing documentation.

      Unlike a submission to ISO, this is not a request for standardisation, it's just a slightly more formal way of publishing documentation than popping it up on your own web server.

      It's worth noting that publishing an informational RFC is sometimes the first step towards getting something adopted on the standards track. If I were in charge at Google, I would invite the IETF to form a video encoding working group and take control of the evolution of WebM.

      • A submission to ISO definitely isn't a request for standardization. I think we settled that with that whole debacle over MS' entry into the open document niche. They said themselves that they prefer to allow the market to decide. Which is just a fancy way of saying that they aren't a standards organization.

        A standards organization that allows competing standards to battle it out is completely worthless in that respect. They're supposed to pick winners and losers otherwise you don't get an interoperable s
        • A standards organization that allows competing standards to battle it out is completely worthless in that respect. They're supposed to pick winners and losers otherwise you don't get an interoperable standard.

          Really? I thought the point was to be able to say that this program uses XYZ standard, then any program using XYZ standard should be compatible with that program. A standards body does not dictate what you can and can't use. Truth is nobody can.... It's called freedom.

    • Re:Venue choice? (Score:5, Informative)

      by jpmorgan ( 517966 ) on Saturday January 22, 2011 @10:40AM (#34965130) Homepage

      The IETF is the correct body for something like this, not ISO.

      ISO is a standards body, and the function of a standards body in every other industry is to take multiple incompatible implementations of a concept, figure out the best of each and combine them into a single common standard that everybody can support. Politics are an inherent part of it, since the entity whose current products is closest to the eventual standard stands to do well financially. Look at how OpenGL is developed, for an example of a proper standardization process. Companies implement the standard, then add extensions to provide new features and give themselves a competitive advantage. Then at the next standards meeting, OpenGL is enhanced to a common base by taking these extensions and making them part of the next version of the standard.

      But for some bizarre reason, software types view standardization as just a giant design process (except design by committee, an extremely political committee). If HTML and CSS were to follow normal standardization procedures, for example, Firefox, Opera, Chrome, Safari and even IE would be free to extend HTML however they want, and then every couple of years the best extensions from all would be combined and rolled into the next version of HTML.

      The IETF is the correct body for VP8, because VP8 doesn't need standardization. There are no multiple competing implementations that need to be brought into alignment. It exists, it works, fait accompli. This is the process by which most successful Internet protocols were created. Maybe in the future when people have new ideas about how VP8 can be enhanced, it'll need a standardization process. But for the time being, all we need are the details, published openly and clearly, so anybody can implement it.

      Standardization is about evolution, not intelligent design.

      • If HTML and CSS were to follow normal standardization procedures, for example, Firefox, Opera, Chrome, Safari and even IE would be free to extend HTML however they want, and then every couple of years the best extensions from all would be combined and rolled into the next version of HTML.

        That's pretty much what happens with HTML and CSS. The canvas element in HTML5 and the transform property in CSS3 were initially created and implemented by Apple in WebKit, and later adopted by the W3C.

        • by arose ( 644256 )
          True, but neither of those (and video came from Opera, no?) generally had incompatible implementations that needed to be reconciled (not that reconciliation isn't possible, but just dropping one implementation in favor of another is not unheard of, like IndexedDB vs Web SQL), they just tend to get tweaked (or not) and adapted as is if they work well. I think that is what jpmorgan was trying to make: generally ISO relies on working groups that try to make their stuff work together and generally IETF tends to
          • by node 3 ( 115640 )

            And how many incompatible extensions to H.264 where there in its development? By being a standard, participating groups were able to extend H.264, but they didn't have to go through the process jpmorgan laid out. The ISO process allowed the industry to extend MPEG-4 to what it is today. Such a thing is not currently feasible with WebM.

            • by arose ( 644256 )
              Generally, not always. The process also allowed the industry to stuff all of their collective patents in...

              Such a thing is not currently feasible with WebM.

              It is not desirable for WebM, it was specifically designed to be simple and easy to implement (in the sense that there aren't huge amounts of optional features). Having a million profiles and 3D video might be good for MPEG-4, but it is counterproductive to WebM's current goals (baseline for the video tag, at least I'm pretty sure that's where Google is

              • by node 3 ( 115640 )

                Which does absolutely nothing to defend your statements that somehow ISO standards (like H.264) are created by a bunch of companies going around making proprietary standards and all vying to have their standard adopted officially.

                To your specific response here, that's exactly why WebM is technologically inferior to H.264.

      • by node 3 ( 115640 )

        Apparently you've never seen how Open Source projects work. There are plenty of incompatible modifications that compete with each other, often replaced, sometimes permanently forked, etc.

        On the other hand, I'm unaware of multitudes of competing and incompatible MPEG-4 implementations out in the wild during the standardization process. I am aware of different and not-entirely compatible profiles within the standard, but the standardization process was open, and not merely a competition amongst shipping techn

      • You're looking at too narrow a scope. We need standard video codecs, because we have multiple competing implementations of "video codec" that need to be brought into alignment. We have a good one, H.264, but the patents on it displease industry members so they're trying to make another good one without patents -- which is okay, because we often have multiple standards when there are tradeoffs to be made.

        Much as the industry doesn't need an independently published international standard for "Duracell form

    • Is there any significance to the fact that Google chose IETF instead of ISO (where MPEG-LA and M$ submitted H.264 and OOXML)?

      Let us be honest about H.264. Where it comes from and how it is used.

      H.264/MPEG-4 AVC is a block-oriented motion-compensation-based codec standard developed by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC Moving Picture Experts Group (MPEG). It was the product of a partnership effort known as the Joint Video Team (JVT). The ITU-T H.264 standard and the ISO/IE

    • That's current "ISO style", regrettably.

      ISO has severely compromised itself by following no standards at all, when certifying certain proposals as a "standard".

      I understand Google wanted to stay clear of such an extra-corrupt "standards body" that works under close control by one of Google's main competitors.

  • by multipartmixed ( 163409 ) on Saturday January 22, 2011 @09:35AM (#34964758) Homepage

    Well, you know, as long as it's not terrible code.

    Once upon a time, the RFC for IP and the BSD code base (that *everyone*) used differed in some subtle way. W. Richards Stevens was the first guy to notice, years after both were written.

    Guess what happened? They changed the standard.

    • You need a standard to define what's a valid and invalid file. Having only the source code would allow people (including Google) to create WebM encoders which are nominally compatible with the open source decoder but "extend" the format by inserting new data in a nonstandard way, which might then be available to only to the (perhaps paying) users of their platform. Thus fragmentation of WebM, perhaps eventually leading to a situation where only one company's reader and writer are useable in most practical
      • Source code is nothing more than a rigorous specification. In fact, it is so rigorous that you can write a translator which automatically translates the specification into a binary you can run on your platform.

        No specification will stop a vendor from writing proprietary extensions. If they publish updated source code, then whoever can catch up.

        Also, isn't the VP8 source code freely usable?

        • by vadim_t ( 324782 )

          Source code makes for a crappy specification.

          Take a line that reads 4 bytes that determine the length of a section. Is the field proper big or little endian, or the application has to be compatible with both? Is it supposed to be signed or unsigned? If signed, what does a negative size mean? Can it be 0 and if so how is that handled? Are there any special values that aren't a literal length but indicate something else? Like 0xffff being used to indicate it's a section with a size >4GB and the real size i

          • > Source code makes for a crappy specification. [....] But that only tells you what the code thinks it is. ...and if the code *is* the specification, then you know what the specification says.

            If you re-implement the code so that it behaves differently, you are not following the specification.

            Now, it's entirely possible that we're talking about crappy code here -- but like I said earlier, good code makes a fine spec, IMHO.

            Code is almost always deterministic, i.e. it will only do one thing. I have read man

    • by tyrione ( 134248 )

      Well, you know, as long as it's not terrible code.

      Once upon a time, the RFC for IP and the BSD code base (that *everyone*) used differed in some subtle way. W. Richards Stevens was the first guy to notice, years after both were written.

      Guess what happened? They changed the standard.

      The world is far worse off without Mr. Stevens.

  • Google could have just released documentation providing the specification, so how does the IETF help? So that they can call it IETF.4628 (Or however the IETF standards are named), or are they looking to make it an internet standard, rather than just a video standard like H.264?

  • If microsoft was doing what google is attempting to do we would all be screaming bloody murder

    • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Saturday January 22, 2011 @10:35AM (#34965092) Homepage Journal

      If microsoft was doing what google is attempting to do we would all be screaming bloody murder

      Google produces open source, makes Linux software, and gives away free web services and doesn't care if you block ads, which would be trivial to detect and act upon when you're talking about the architecture of google. Microsoft has been convicted of abuse of their monopoly position. It is utterly unreasonable to treat google the same as convicted criminal Microsoft.

      • Are saying is that if Microsoft was doing this, then it could not be tolerated?

        I mean, it sounds like what you are saying. That Google can do this, and its awesome, but it cannot be tolerated if we do a 's/Google/Microsoft' ?
    • by Burpmaster ( 598437 ) on Saturday January 22, 2011 @10:58AM (#34965246)

      If microsoft was doing what google is attempting to do we would all be screaming bloody murder

      What, you mean producing a standard that actually matches the implementation and irrevocably granting free use of the necessary patents to everyone? How do you know how people would respond? Microsoft has never done that. They'e done the exact opposite, though...

    • by gdshaw ( 1015745 ) on Saturday January 22, 2011 @11:56AM (#34965596) Homepage

      If microsoft was doing what google is attempting to do we would all be screaming bloody murder

      What Google is doing is far from ideal technically, but they have given us reasonable grounds to believe that their intentions are honourable: code that we can use freely, and a patent grant with no strings attached.

      The technical shortcomings can be forgiven in view of the need to challenge H.264 quickly, and the need to work around patents held by others. I wish we had a codec with the technical qualities of H.264 and the legal qualities of VP8, but we don't. H.264 is irrelevant to me if I can't use it for legal or economic reasons.

      When Microsoft has done something similar (like .NET, OOXML or ActiveX) there have usually been details in the fine print that either tie the technology to other Microsoft products or make it legally dangerous to use. What they have done in the past is not comparable to what Google is doing now.

      Even Microsoft were to reform their behaviour completely, they would quite rightly be scrutinised very closely because of their past misdeeds.

    • Comment removed based on user account deletion
      • by gmhowell ( 26755 )

        If Microsoft announced a non-patent encumbered (to the best of their knowledge) codec and released the specification of the format to the IETF, we would not be screaming bloody murder.

        I'd be out in the streets, speaking in tongues, for surely if this happened, the rapture would be upon us.

    • by Xtifr ( 1323 )

      If microsoft was doing what google is attempting to do we would all be screaming bloody murder

      When Microsoft releases their software for Linux under terms that allow it to be included in Debian, we'll be able to judge the truth of this claim. I'm not sure whether you're right or wrong, but I think hell is likely to freeze over before we'll ever find out! :)

      Microsoft's history of backstabbing their partners and doing everything they can to lock in their users makes them a very different proposition from Google. I suspect that at least, some people would be shouting "it's a trap" if Microsoft did so

    • by hkmwbz ( 531650 )

      If microsoft was doing what google is attempting to do we would all be screaming bloody murder

      Why? Releasing something with an irrevocable royalty-free license is not a bad thing to do at all.

  • by Anonymous Coward on Saturday January 22, 2011 @11:03AM (#34965286)

    Take some that immense R&D budget that you have and put a team of programmers on the task of getting VP8 encode/decode acceleration via OpenCL/CUDA.
    The x264 team is sitting back and saying it can't be done, meanwhile a university has already posted the code for a modified x264 that uses the GPU to accelerate the pyramid search. The race is already started.

    If x264 is further improved for GPU support and this makes it into FFMPEG, then the race is over...

    • by oiron ( 697563 )

      I doubt that's going to be particularly difficult for 3rd party devs to do - the libavcodec version is only 1400 lines. I'm sure that there's enough reusable code for decoder blocks floating around to assemble an OpenCL version of it...

    • I'm wondering why "Generic highly parallelized task X" would not be able to be offhanded to the GPU via CUDA. I mean We have CUDA decoding for every other format along with plenty of random applications such as Folding@home, what would make WebM special? What makes WebM different than H.264 in the decoding arena?

      Forgive me for being understandably skeptic when a competitor of a product says something can't be done.
    • by Jonner ( 189691 )

      Hardware acceleration is essential for wide adoption, but in mobile devices to a far greater extent than desktops. If Android devices can be targeted by OpenCL, then Google should definitely put a lot of effort into that. It would also be very interesting if there were a good OpenCL implementation of VP8 and iOS supported OpenCL, since that would hurt Apple's position that H.264 must be used for all the devices that have hardware support for it.

  • "essentially the entire VP8 data stream is encoded using a boolean entropy coder."
    Well, duh.

    • An entropy encoder encodes symbols taken from an alphabet of symbols.

      A boolean coder is a special case that has an alphabet of exactly 2 symbols, which is not required.. or even common.

      Most compressors use an alphabet of 256 symbols.

      Why do people that don't know data compression make ignorant comments about data compression?
      • by Jonner ( 189691 )

        The ignorant gp poster probably thought "boolean entropy coder" was just a synonym for "lossy encoder." I didn't know what it meant and didn't hastily jump to that conclusion.

  • Creating an RFC was a very smart move for Google.

    First off, remember that when WebM burst onto the scene, Google made it pretty clear that they didn't want to monkey-around with improving the VP8 codec. Sure, maybe it could be improved, but they basically said that they just wanted to leave it as-is and have people start using the darn thing. The benefit of having it in use out in the wild outweighed any delays.

    So, by submitting VP8 to the IETF as an RFC, they're not (necessarily) revisiting the question of

    • by arose ( 644256 )
      ECMA is known to rubber-stamp stuff coming from Microsoft (probably others as well), OOXML went to ECMA first.

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...